pyriemann.utils.ajd.uwedge

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.

Parameters:
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.

Returns:
Vndarray, shape (n_channels, n_channels)

The diagonalizer.

Dndarray, shape (n_matrices, n_channels, n_channels)

Set of quasi diagonal matrices.

See also

ajd_pham
rjd

Notes

New in version 0.2.4.

References

[1]

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.

[2]

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