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

Approximate joint diagonalization based on UWEDGE.

This is an implementation of the AJD algorithm [1] [2]: uniformly weighted exhaustive diagonalization using Gauss iterations (U-WEDGE). It is a translation from the Matlab code provided by the authors.

Xndarray, shape (n_matrices, n, n)

Set of symmetric matrices to diagonalize.

initNone | ndarray, shape (n, n), 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, n)

The diagonalizer.

Dndarray, shape (n_matrices, n, n)

Set of quasi diagonal matrices, D = V X V^T.

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 Processing ICASSP.


Fast Approximate Joint Diagonalization Incorporating Weight Matrices P. Tichavsky and A. Yeredor. IEEE Trans Signal Process, 57(3), pp. 878 - 891, 2009.