|
1 |
| -//! Linear algebra package for [rust-ndarray](https://github.com/bluss/rust-ndarray) using LAPACK via [stainless-steel/lapack](https://github.com/stainless-steel/lapack) |
| 1 | +//! The `ndarray-linalg` crate provides linear algebra functionalities for `ArrayBase`, the n-dimensional array data structure provided by [`ndarray`](https://github.com/rust-ndarray/ndarray). |
2 | 2 | //!
|
3 |
| -//! Linear algebra methods |
4 |
| -//! ----------------------- |
5 |
| -//! - [QR decomposition](qr/trait.QR.html) |
6 |
| -//! - [singular value decomposition](svd/trait.SVD.html) |
7 |
| -//! - [solve linear problem](solve/index.html) |
8 |
| -//! - [solve linear problem for triangular matrix](triangular/trait.SolveTriangular.html) |
9 |
| -//! - [inverse matrix](solve/trait.Inverse.html) |
10 |
| -//! - [eigenvalue decomposition for Hermite matrix][eigh] |
| 3 | +//! `ndarray-linalg` leverages [LAPACK](http://www.netlib.org/lapack/)'s routines using the bindings provided by [blas-lapack-rs/lapack](https://github.com/blas-lapack-rs/lapack). |
11 | 4 | //!
|
12 |
| -//! [eigh]:eigh/trait.Eigh.html |
| 5 | +//! Linear algebra methods |
| 6 | +//! ----------------------- |
| 7 | +//! - Decomposition methods: |
| 8 | +//! - [QR decomposition](qr/index.html) |
| 9 | +//! - [Cholesky/LU decomposition](cholesky/index.html) |
| 10 | +//! - [Eigenvalue decomposition for Hermite matrices](eigh/index.html) |
| 11 | +//! - [**S**ingular **V**alue **D**ecomposition](svd/index.html) |
| 12 | +//! - Solution of linear systems: |
| 13 | +//! - [General matrices](solve/index.html) |
| 14 | +//! - [Triangular matrices](triangular/index.html) |
| 15 | +//! - [Hermitian/real symmetric matrices](solveh/index.html) |
| 16 | +//! - [Inverse matrix computation](solve/trait.Inverse.html) |
| 17 | +//! |
| 18 | +//! Naming Convention |
| 19 | +//! ----------------------- |
| 20 | +//! Each routine is usually exposed as a trait, implemented by the relevant types. |
| 21 | +//! |
| 22 | +//! For each routine there might be multiple "variants": different traits corresponding to the different ownership possibilities of the array you intend to work on. |
| 23 | +//! |
| 24 | +//! For example, if you are interested in the QR decomposition of a square matrix, you can use: |
| 25 | +//! - [QRSquare](qr/trait.QRSquare.html), if you hold an immutable reference (i.e. `&self`) to the matrix you want to decompose; |
| 26 | +//! - [QRSquareInplace](qr/trait.QRSquareInplace.html), if you hold a mutable reference (i.e. `&mut self`) to the matrix you want to decompose; |
| 27 | +//! - [QRSquareInto](qr/trait.QRSquareInto.html), if you can pass the matrix you want to decompose by value (e.g. `self`). |
| 28 | +//! |
| 29 | +//! Depending on the algorithm, each variant might require more or less copy operations of the underlying data. |
| 30 | +//! |
| 31 | +//! Details are provided in the description of each routine. |
13 | 32 | //!
|
14 | 33 | //! Utilities
|
15 | 34 | //! -----------
|
16 |
| -//! - [assertions for array](index.html#macros) |
17 |
| -//! - [generator functions](generate/index.html) |
| 35 | +//! - [Assertions for array](index.html#macros) |
| 36 | +//! - [Random matrix generators](generate/index.html) |
18 | 37 | //! - [Scalar trait](types/trait.Scalar.html)
|
19 | 38 |
|
20 | 39 | pub mod assert;
|
|
0 commit comments