pyriemann.utils.ajd.uwedge¶
- 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.
- Parameters:
- 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.
- Returns:
- Vndarray, shape (n, n)
The diagonalizer.
- Dndarray, shape (n_matrices, n, n)
Set of quasi diagonal matrices, D = V X V^T.
See also
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 Processing ICASSP.
[2]Fast Approximate Joint Diagonalization Incorporating Weight Matrices P. Tichavsky and A. Yeredor. IEEE Trans Signal Process, 57(3), pp. 878 - 891, 2009.