Expand description
The Rust linear solver toolbox (RLST).
The purpose of this library is to provide a comprehensive set of tools for dense and sparse linear algebra operations required in the solution of partial differential equations and other problems. RLST has the following feature set.
- n-dimensional array structures that can be allocated on the stack or heap.
- Support for BLAS matrix-matrix multiplication and a subset of Lapack operations (incl. LU, SVD, QR).
- CSR sparse matrices on a single node or via MPI on multiple nodes.
- Import and export into Matrix-Market format.
- A general
operatorinterface that can abstract linear operators, and iterative solvers acting on linear operators.
To learn about the features of RLST please have a look at the following documents.
Re-exports§
pub use crate::dense::array::Array;pub use crate::dense::array::empty_array;pub use dense::array::DynArray;pub use dense::array::SliceArray;pub use dense::array::SliceArrayMut;pub use dense::array::StridedDynArray;pub use traits::*;pub use base_types::*;
Modules§
- base_
types - Basic types.
- dense
- Dense array types and operations on them.
- doc
- The RLST documentation.
- interface
- Interfaces to other libraries
- interpolation
- Functions to evaluate interpolation polynomials.
- io
- The
iolibrary provides import and export routines for various file formats. - operator
- The operator library contains traits and methods to support arbitrary operator types.
- simd
- Basic traits for SIMD Operations
- sparse
- RLST sparse
- threading
- BLAS threading control. This module provides interfaces to threading control functions in BLAS libraries that support it.
- tracing
- Simple structures to trace execution times of functions.
- traits
- Traits used by RLST.
Macros§
- assert_
array_ abs_ diff_ eq - Assert that the absolute difference of two arrays is small enough
- assert_
array_ relative_ eq - Assert that the relative difference of two arrays is small enough
- assert_
matrix_ abs_ diff_ eq - Assert that the absolute difference of two matrices is small enough
- assert_
matrix_ relative_ eq - Assert that the relative difference of two matrices is small enough
- assert_
matrix_ ulps_ eq - TODO: document
- diag
- Create a new n-dimensional diagonal array from a list of diagonal entries.
- dot
- Dot product between compatible arrays.
- linspace
- Create an array of
nequidistant points with first valueaand second valueb. - println_
mpi - A println function that is MPI aware and outputs only on rank 0.
- rlst_
dynamic_ array - Create a dynamic array
- rlst_
static_ array - Create a static array
- rlst_
static_ type - Type of a static array
Constants§
- CACHE_
ALIGNED - Align memory along cache lines
- FFTW_
ALIGNED - Align memory for FFTW. FFTW requires 16 bytes alignment
- PAGE_
ALIGNED - Align memory along page lines
Attribute Macros§
- measure_
duration - Trace the execution time of a function