qndiag.ajd_pham

qndiag.ajd_pham(X, tol=1e-14, max_iter=1000, return_B_list=False, verbose=False)

This function comes from mne-python/decoding/csp.py Approximate joint diagonalization based on Pham’s algorithm.

This is a direct implementation of the PHAM’s AJD algorithm [1].

Parameters
Xndarray, shape (n_epochs, n_channels, n_channels)

A set of covariance matrices to diagonalize.

tolfloat, defaults to 1e-6

The tolerance for stoping criterion.

max_iterint, defaults to 1000

The maximum number of iteration to reach convergence.

Returns
Vndarray, shape (n_channels, n_channels)

The diagonalizer.

Dndarray, shape (n_epochs, n_channels, n_channels)

The set of quasi diagonal matrices.

References

1

Pham, Dinh Tuan. “Joint approximate diagonalization of positive definite Hermitian matrices.” SIAM Journal on Matrix Analysis and Applications 22, no. 4 (2001): 1136-1152.

Fork me on GitHub