# Module extendr_api::prelude::modules::svd

## Expand description

Low level implementation of the SVD of a matrix.

The SVD of a matrix $M$ 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:

$$M = U S V^H.$$

## Structs§

- SVD tuning parameters.

## Enums§

- Indicates whether the singular vectors are fully computed, partially computed, or skipped.

## Functions§

- Computes the singular value decomposition of
`matrix`

. - See
`compute_svd`

. - Computes the size and alignment of required workspace for performing a singular value decomposition. $U$ and $V$ may be computed fully, partially, or not computed at all.