ndarray-linalg crate provides linear algebra functionalities for
ArrayBase, the n-dimensional array data structure provided by
Linear algebra methods
- Decomposition methods:
- QR decomposition
- Cholesky/LU decomposition
- Eigenvalue decomposition
- Eigenvalue decomposition for Hermite matrices
- Singular Value Decomposition
- Solution of linear systems:
- General matrices
- Triangular matrices
- Hermitian/real symmetric matrices
- Tridiagonal matrices
- Inverse matrix computation
Each routine is usually exposed as a trait, implemented by the relevant types.
For each routine there might be multiple "variants": different traits corresponding to the different ownership possibilities of the array you intend to work on.
For example, if you are interested in the QR decomposition of a square matrix, you can use:
- QRSquare, if you hold an immutable reference (i.e.
&self) to the matrix you want to decompose;
- QRSquareInplace, if you hold a mutable reference (i.e.
&mut self) to the matrix you want to decompose;
- QRSquareInto, if you can pass the matrix you want to decompose by value (e.g.
Depending on the algorithm, each variant might require more or less copy operations of the underlying data.
Details are provided in the description of each routine.