Expand description
low level implementation of the svd of a matrix
the svd of a matrix $A$ of shape $(m, n)$ is a decomposition into three components $U$, $S$, and $V$, such that:
- $U$ has shape $(m, m)$ and is a unitary matrix
- $V$ has shape $(n, n)$ and is a unitary matrix
- $S$ has shape $(m, n)$ and is zero everywhere except the main diagonal
- and finally:
$$A = U S V^H$$
Modules§
- bidiag
- bidiagonalization
Structs§
- SvdParams
- svd tuning parameters
Enums§
- Compute
SvdVectors - whether the singular vectors should be computed
- SvdError
- svd error
Functions§
- pseudoinverse_
from_ svd - computes a self-adjoint matrix’s pseudoinverse, given the svd factors $S$, $U$ and $V$
- pseudoinverse_
from_ svd_ scratch - computes the size and alignment of the workspace required to compute a matrix’s pseudoinverse, given the svd
- pseudoinverse_
from_ svd_ with_ tolerance - computes a self-adjoint matrix’s pseudoinverse, given the svd factors $S$, $U$ and $V$, and tolerance parameters for determining zero singular values
- svd
- computes the svd of $A$, with the singular vectors being omitted, thin or full
- svd_
scratch - computes the size and alignment of the workspace required to compute a matrix’s svd