Skip to main content

Module solver

Module solver 

Source
Expand description

Solver traits and implementations.

Most users configure solvers through KspContext and SolverType. This module exposes the underlying solver types and traits for advanced use, custom pipelines, or testing.

Re-exports§

pub use api::Solver;
pub use adapters::LegacyDirectAdapter;
pub use cg::CgSolver;
pub use cgnr::CgnrSolver;
pub use gmres::GmresSolver;
pub use fgmres::FgmresSolver;
pub use bicgstab::BiCgStabBreakdownPolicy;
pub use bicgstab::BiCgStabSolver;
pub use bicgstab::BiCgStabVariant;
pub use idrs::BreakdownRepair as IdrsBreakdownRepair;
pub use idrs::IdrsBuilder;
pub use idrs::IdrsOptions;
pub use idrs::IdrsSolver;
pub use idrs::Omega as IdrsOmega;
pub use idrs::ShadowP as IdrsShadowP;
pub use cgs::CgsSolver;
pub use richardson::RichardsonSolver;
pub use chebyshev::ChebyshevSolver;
pub use cr::CrSolver;
pub use pcg::PCG_PIPELINED_DEFAULT_REPLACE_EVERY;
pub use pcg::PcgSolver;
pub use pcg::PcgVariant;
pub use minres::MinresSolver;
pub use lsmr::LsmrSolver;
pub use lsqr::LsqrSolver;
pub use direct_lu::LuSolver;backend-faer
pub use direct_lu::QrSolver;backend-faer
pub use superlu_dist::SuperLuDistSolver;superlu_dist
pub use qmr::QmrSolver;
pub use tfqmr::TfqmrSolver;
pub use tcqmr::TcqmrSolver;
pub use gcr::GcrSolver;
pub use pipegcr::PipeGcrSolver;
pub use pca_gmres::PcaGmresSolver;
pub use pca_gmres::PcaPcMode;

Modules§

adapters
api
bicgstab
Robust breakdown checks:
block
Block Krylov solver infrastructure.
cg
CG side semantics
cgnr
cgs
Conjugate Gradient Squared (CGS).
chebyshev
common
cr
dense_ludense-direct
dense_qrdense-direct
direct_lubackend-faer
Direct dense solvers using Faer: LU and QR factorizations.
fgmres
Flexible GMRES (FGMRES) over the scalar-generic KLinOp interface with optional mutable preconditioning support.
gcr
gmres
GMRES side semantics
idrs
legacy
Legacy generic solver trait retained for existing implementations.
lsmr
LSMR solver for least-squares and rank-deficient systems.
lsqr
LSQR solver for least-squares and rank-deficient systems.
minres
MINRES solver (Saad §7.4)
pca_gmres
PCA-GMRES (baseline) over &dyn LinOp with left/right/no preconditioning, using disjoint slabs for V and Z, with semantics enforced by pc_mode.
pcg
pipegcr
qmr
QMR side semantics
richardson
superlu_distsuperlu_dist
SuperLU_DIST distributed sparse direct solver.
tcqmr
tfqmr
TFQMR side semantics

Structs§

OpSolverAdapter
Adapter allowing legacy generic solvers (MatVec/Vec) to be used with the new object-safe LinearSolver trait over LinOp.

Enums§

MonitorAction

Traits§

KLinOp
Internal, scalar-generic linear operator for solvers.
KPreconditioner
Internal, scalar-generic preconditioner interface.
LinearSolver
Object-safe linear solver operating on f64 slices and LinOp operators.

Type Aliases§

MonitorCallback