pyriemann.utils.ajd.uwedge(X, *, init=None, eps=1e-07, n_iter_max=100)

Approximate joint diagonalization based on UWEDGE.

Implementation of the AJD algorithm by Tichavsky and Yeredor [1] [2]: uniformly weighted exhaustive diagonalization using Gauss iterations (U-WEDGE). This is a translation from the matlab code provided by the authors.

Xndarray, shape (n_matrices, n_channels, n_channels)

Set of symmetric matrices to diagonalize.

initNone | ndarray, shape (n_channels, n_channels), default=None

Initialization for the diagonalizer.

epsfloat, default=1e-7

Tolerance for stoping criterion.

n_iter_maxint, default=100

The maximum number of iterations to reach convergence.

Vndarray, shape (n_channels, n_channels)

The diagonalizer.

Dndarray, shape (n_matrices, n_channels, n_channels)

Set of quasi diagonal matrices.

See also



New in version 0.2.4.



A Fast Approximate Joint Diagonalization Algorithm Using a Criterion with a Block Diagonal Weight Matrix P. Tichavsky, A. Yeredor and J. Nielsen. 2008 IEEE International Conference on Acoustics, Speech and Signal ProcessingICASSP.


Fast Approximate Joint Diagonalization Incorporating Weight Matrices P. Tichavsky and A. Yeredor. IEEE Transactions on Signal Processing, Volume 57, Issue 3, March 2009.