diffsol-la 0.1.0

Linear algebra traits and backends (vectors, matrices, linear solvers) for diffsol.
Documentation

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 LinearOp trait describing a linear operator A, and the LinearSolver trait for solving Ax = b.
  • Backends: NalgebraLU, FaerLU, FaerSparseLU, KLU (suitesparse), and CudaLU.
  • Support types: Context, Scalar, Scale, and the LaError error 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

License

Licensed under the MIT license. See the repository for details.