Skip to main content

math_audio_solvers/preconditioners/
mod.rs

1//! Preconditioners for iterative solvers
2//!
3//! Preconditioners approximate A^(-1) to accelerate convergence of iterative methods.
4//!
5//! # Available Preconditioners
6//!
7//! - **DiagonalPreconditioner** (Jacobi): Simple diagonal scaling, fully parallel
8//! - **IluPreconditioner**: Sequential ILU(0), best convergence
9//! - **IluColoringPreconditioner**: Parallel ILU via level scheduling
10//! - **IluFixedPointPreconditioner**: Parallel ILU via Jacobi iteration
11//! - **AdditiveSchwarzPreconditioner**: Domain decomposition with overlap (parallel)
12//! - **AmgPreconditioner**: Algebraic multigrid with parallel coarsening and smoothing
13
14mod amg;
15mod diagonal;
16mod ilu;
17mod ilu_parallel;
18mod schwarz;
19
20pub use amg::{
21    AmgCoarsening, AmgConfig, AmgCycle, AmgDiagnostics, AmgInterpolation, AmgPreconditioner,
22    AmgSmoother,
23};
24pub use diagonal::DiagonalPreconditioner;
25pub use ilu::IluPreconditioner;
26pub use ilu_parallel::{IluColoringPreconditioner, IluFixedPointPreconditioner};
27pub use schwarz::AdditiveSchwarzPreconditioner;
28
29// Re-export IdentityPreconditioner from traits
30pub use crate::traits::IdentityPreconditioner;