Expand description
low level implementation of the eigenvalue decomposition of a square diagonalizable matrix.
the eigenvalue decomposition of a square matrix $A$ 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:
$$A = U S U^{-1}$$
if $A$ is self-adjoint, then $U$ can be made unitary ($U^{-1} = U^H$), and $S$ is real valued
Modules§
- hessenberg
- hessenberg decomposition
- tridiag
- self-adjoint tridiagonalization
Structs§
- EvdFrom
Schur Params - schur to eigendecomposition conversion parameters
- EvdParams
- eigendecomposition tuning parameters
- Self
Adjoint EvdParams - self-adjoint eigendecomposition tuning parameters
Enums§
- Compute
Eigenvectors - whether the eigenvectors should be computed
- EvdError
- eigendecomposition error
Functions§
- evd_
cplx - computes the matrix $A$’s eigendecomposition
- evd_
real - computes the matrix $A$’s eigendecomposition
- evd_
scratch - computes the size and alignment of the workspace required to compute a matrix’s eigendecomposition
- pseudoinverse_
from_ self_ adjoint_ evd - computes a self-adjoint matrix’s pseudoinverse, given the eigendecomposition factors $S$ and $U$
- pseudoinverse_
from_ self_ adjoint_ evd_ scratch - computes the size and alignment of the workspace required to compute a self-adjoint matrix’s pseudoinverse, given the eigendecomposition
- pseudoinverse_
from_ self_ adjoint_ evd_ with_ tolerance - computes a self-adjoint matrix’s pseudoinverse, given the eigendecomposition factors $S$ and $U$, and tolerance parameters for determining zero eigenvalues
- self_
adjoint_ evd - computes the matrix $A$’s eigendecomposition, assuming it is self-adjoint
- self_
adjoint_ evd_ scratch - computes the size and alignment of the workspace required to compute a self-adjoint matrix’s eigendecomposition