Skip to main content

math_audio_solvers/iterative/
mod.rs

1//! Iterative solvers for linear systems
2//!
3//! This module provides Krylov subspace methods for solving large sparse systems:
4//! - [`gmres`]: GMRES(m) with restart - best for general non-symmetric systems
5//! - [`bicgstab`]: BiCGSTAB - good alternative to GMRES
6//! - [`cgs`]: CGS - faster but less stable than BiCGSTAB
7//! - [`cg`]: Conjugate Gradient - for symmetric positive definite systems
8
9mod bicgstab;
10mod cg;
11mod cgs;
12mod gmres;
13pub mod gmres_deflated;
14#[cfg(feature = "rayon")]
15pub mod gmres_pipelined;
16
17pub use bicgstab::{BiCgstabConfig, BiCgstabSolution, bicgstab};
18pub use cg::{CgConfig, CgSolution, cg, pcg};
19pub use cgs::{CgsConfig, CgsSolution, cgs};
20pub use gmres::{
21    GmresConfig, GmresSolution, gmres, gmres_preconditioned, gmres_preconditioned_with_guess,
22    gmres_with_guess,
23};
24pub use gmres_deflated::{DeflationSubspace, gmres_deflated, gmres_deflated_preconditioned};
25#[cfg(feature = "rayon")]
26pub use gmres_pipelined::gmres_pipelined;