pyriemann.utils.ajd.ajd¶
- pyriemann.utils.ajd.ajd(X, method='ajd_pham', init=None, eps=1e-06, n_iter_max=100, **kwargs)¶
Aproximate joint diagonalization (AJD) according to a method.
Compute the AJD of a set of matrices according to a method [1], estimating the joint diagonalizer matrix, diagonalizing the set as much as possible.
- Parameters:
- Xndarray, shape (n_matrices, n, n)
Set of symmetric matrices to diagonalize.
- methodstring | callable, default=”ajd_pham”
Method for AJD, can be: “ajd_pham”, “rjd”, “uwedge”, or a callable function.
- initNone | ndarray, shape (n, n), default=None
Initialization for the diagonalizer.
- epsfloat, default=1e-6
Tolerance for stopping criterion.
- n_iter_maxint, default=100
The maximum number of iterations to reach convergence.
- kwargsdict
The keyword arguments passed to the sub function.
- Returns:
- Vndarray, shape (n, n)
The diagonalizer.
- Dndarray, shape (n_matrices, n, n)
Set of quasi diagonal matrices.
Notes
New in version 0.6.
References
[1]Joint Matrices Decompositions and Blind Source Separation: A survey of methods, identification, and applications G. Chabriel, M. Kleinsteuber, E. Moreau, H. Shen; P. Tichavsky and A. Yeredor. IEEE Signal Process Mag, 31(3), pp. 34-43, 2014.