Module evd

Module evd 

Source
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§

EvdFromSchurParams
schur to eigendecomposition conversion parameters
EvdParams
eigendecomposition tuning parameters
SelfAdjointEvdParams
self-adjoint eigendecomposition tuning parameters

Enums§

ComputeEigenvectors
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