Module svd

Module svd 

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

ComputeSvdVectors
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