Expand description
Iterative sparse linear solvers for the ruvector ecosystem.
This crate provides iterative methods for solving Ax = b where A is a
sparse matrix stored in CSR format.
§Available Solvers
| Solver | Feature gate | Method |
|---|---|---|
NeumannSolver | neumann | Neumann series x = sum (I-A)^k b |
§Example
use ruvector_solver::types::{ComputeBudget, CsrMatrix};
use ruvector_solver::neumann::NeumannSolver;
use ruvector_solver::traits::SolverEngine;
// Build a diagonally dominant 3x3 matrix (f32)
let matrix = CsrMatrix::<f32>::from_coo(3, 3, vec![
(0, 0, 2.0_f32), (0, 1, -0.5_f32),
(1, 0, -0.5_f32), (1, 1, 2.0_f32), (1, 2, -0.5_f32),
(2, 1, -0.5_f32), (2, 2, 2.0_f32),
]);
let rhs = vec![1.0_f32, 0.0, 1.0];
let solver = NeumannSolver::new(1e-6, 500);
let result = solver.solve(&matrix, &rhs).unwrap();
assert!(result.residual_norm < 1e-4);Modules§
- arena
- Bump allocator for per-solve scratch space.
- audit
- Audit trail for solver invocations.
- budget
- Compute budget enforcement for solver operations.
- cg
- Conjugate Gradient solver for symmetric positive-definite systems.
- error
- Error types for the solver crate.
- events
- Event sourcing for solver operations.
- forward_
push - Forward Push solver for Personalized PageRank (Andersen-Chung-Lang).
- neumann
- Jacobi-preconditioned Neumann Series iterative solver.
- router
- Algorithm router and solver orchestrator.
- simd
- SIMD-accelerated sparse matrix-vector multiply.
- traits
- Solver trait hierarchy.
- types
- Core types for sparse linear solvers.
- validation
- Comprehensive input validation for solver operations.