pub fn conjugate_gradient(
a: &impl LinearOperator,
b: &[f64],
initial: Option<&[f64]>,
preconditioner: &impl Preconditioner,
options: CgOptions,
) -> Result<CgReport, SolverError>Expand description
Preconditioned conjugate gradient for a fixed real symmetric POSITIVE-DEFINITE operator and positive-definite preconditioner. Caller guarantees those global properties; positive-curvature checks can detect some violations, not prove SPD. Zero RHS and an already-correct initial guess converge in zero iterations. Failure to reach tolerance returns MaxIterations, never a false success.