Module evd
Expand description
Low level implementation of the eigenvalue decomposition of a square diagonalizable matrix.
The eigenvalue decomposition of a square matrix $M$ of shape $(n, n)$ is a decomposition into two components $U$, $S$:
- $U$ has shape $(n, n)$ and is invertible,
- $S$ has shape $(n, n)$ and is a diagonal matrix,
- and finally:
$$M = U S U^{-1}.$$
If $M$ is Hermitian, then $U$ can be made unitary ($U^{-1} = U^H$), and $S$ is real valued.
Structs§
- Hermitian eigendecomposition tuning parameters.
Enums§
- Indicates whether the eigenvectors are fully computed, partially computed, or skipped.
Functions§
- Computes the eigenvalue decomposition of a square complex
matrix
. - See
compute_evd_complex
. - Computes the eigenvalue decomposition of a square real
matrix
. - See
compute_evd_real
. - Computes the size and alignment of required workspace for performing an eigenvalue decomposition. The eigenvectors may be optionally computed.
- Computes the eigenvalue decomposition of a square Hermitian
matrix
. Only the lower triangular half of the matrix is accessed. - Computes the size and alignment of required workspace for performing a Hermitian eigenvalue decomposition. The eigenvectors may be optionally computed.
- Computes the pseudo inverse of a decomposed square Hermitian matrix.
s
represents the diagonal of the matrix $S$, and must have size equal to the dimension of the matrix.
u
represents the eigenvectors.
The result is stored intopinv
. - Computes the size and alignment of required workspace for performing a decomposed Hermitian matrix pseudoi inverse