diffsol-la
Linear algebra foundation for diffsol — the vector, matrix, and linear-solver traits used by the ODE/DAE solvers, together with concrete backends.
Most users should depend on the diffsol crate
directly. Use diffsol-la when you want to build on the linear algebra layer itself.
Traits
- Vectors:
Vector,VectorView,VectorViewMut,VectorIndex,VectorHost. - Matrices:
Matrix,DenseMatrix,MatrixView,MatrixViewMut, and sparsity handling. - Linear operators and solvers: the
LinearOptrait describing a linear operatorA, and theLinearSolvertrait for solvingAx = b. - Backends:
NalgebraLU,FaerLU,FaerSparseLU,KLU(suitesparse), andCudaLU. - Support types:
Context,Scalar,Scale, and theLaErrorerror type.
Implementations
Each implementations is behind a feature flag:
nalgebra: nalgebra-backed containers and solvers (enabled by default).faer: faer-backed containers and solvers (enabled by default).cuda: in-built CUDA containers and solvers (disabled by default).suitesparse: the KLU sparse direct solver from SuiteSparse (disabled by default).
Links
- Main crate: https://crates.io/crates/diffsol
- Documentation: https://docs.rs/diffsol-la
- Book: https://martinjrobins.github.io/diffsol/
License
Licensed under the MIT license. See the repository for details.