1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//! Iterative solvers for sparse linear systems and eigenvalue problems
//!
//! # Available Linear Solvers
//!
//! - **CG** - Conjugate Gradient for symmetric positive definite systems
//! - **MINRES** - Minimum Residual for symmetric indefinite systems
//! - **CGS** - Conjugate Gradient Squared for non-symmetric systems
//! - **BiCGSTAB** - Bi-Conjugate Gradient Stabilized for non-symmetric systems
//! - **GMRES** - Generalized Minimal Residual for non-symmetric systems
//! - **LGMRES** - Loose GMRES with augmented restarts
//! - **QMR** - Quasi-Minimal Residual for non-symmetric systems
//! - **Jacobi** - Weighted Jacobi iteration for diagonally dominant systems
//! - **SOR** - Successive Over-Relaxation
//! - **Adaptive GMRES** - GMRES with automatic preconditioner upgrading
//!
//! # Available Eigensolvers / SVD
//!
//! - **Lanczos** - For large sparse symmetric matrices
//! - **Arnoldi (IRAM)** - For large sparse non-symmetric matrices
//! - **Sparse SVD** - Lanczos bidiagonalization for singular values
//!
//! # Preconditioners
//!
//! - **ILU(0)** - Incomplete LU with zero fill-in
//! - **IC(0)** - Incomplete Cholesky with zero fill-in
//! - **AMG** - Algebraic Multigrid (V-cycle with Jacobi smoothing)
//!
//! # Architecture
//!
//! Iterative solvers are **composite operations** that compose primitive ops:
//! - Vector norms, dot products (ReduceOps)
//! - Vector addition, subtraction, scaling (BinaryOps, ScalarOps)
//! - Sparse matrix-vector multiply (SparseOps)
//! - Triangular solves for preconditioning (SparseLinAlgAlgorithms)
//!
//! The generic implementations in `impl_generic/` define THE algorithm,
//! ensuring identical behavior across all backends.
// Re-export types
pub use ;
// Re-export traits
pub use ;
// Re-export implementations
pub use ;