nalgebra-sparse-linalg
Sparse linear algebra iterative solvers for nalgebra_sparse.
Overview
nalgebra-sparse-linalg provides iterative methods for solving large, sparse linear systems of equations, with a focus on compatibility with the nalgebra_sparse crate. The library currently includes Jacobi and Conjugate Gradient iterative solvers for sparse matrices.
Features
- Jacobi iterative solver for sparse matrices in CSR format.
- Conjugate Gradient solver for symmetric positive-definite matrices in CSR and CSC formats.
- BiConjugate Gradient solver for general (possibly non-symmetric)
- Generic over scalar types (e.g.,
f32,f64). - Simple API compatible with
nalgebra_sparse's matrix and vector types.
Usage
Add this to your Cargo.toml:
[]
= "0.1"
= "0.9"
Example (Jacobi, CSR):
use ;
use solve;
let a = identity;
let b = from_vec;
let result = solve;
assert!;
Exxample (Gauss-Seidel, CSR):
use ;
use solve;
let a = identity;
let b = from_vec;
let result = solve;
assert!;
Example (Relaxation, CSR):
use ;
use solve;
let a = identity;
let b = from_vec;
let result = solve;
assert!;
Example (Conjugate Gradient, CSC or CSR):
use ;
use solve;
let a = identity;
let b = from_vec;
let result = solve;
assert!;
Example (BiConjugate Gradient, CSR or CSC):
use ;
use solve;
let a = identity;
let b = from_vec;
let result = solve;
assert!;
Documentation
See docs.rs for full API documentation.
License
Licensed under either of
- Apache License, Version 2.0
- MIT license
at your option.