Skip to content

Commit 129f49c

Browse files
Docs - Landing page (#145)
* Fix links in the docs prelude, add link to LAPACK project * Refactor list of features to link at submodules instead of single traits * Polishing * Capitalize and characterize generator functions * Restructure list and fix errors * Add another decomposition
1 parent 8ff9f12 commit 129f49c

File tree

1 file changed

+31
-12
lines changed

1 file changed

+31
-12
lines changed

src/lib.rs

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,39 @@
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).
22
//!
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).
114
//!
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.
1332
//!
1433
//! Utilities
1534
//! -----------
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)
1837
//! - [Scalar trait](types/trait.Scalar.html)
1938
2039
pub mod assert;

0 commit comments

Comments
 (0)