pub fn solve_linear<F: Native, M: Mapping<F>>(
a: &mut M,
b: &[F],
start: &[F],
options: &Options<'_, F>,
) -> Result<Found<Vec<F>, F>, M::Error>Expand description
The solution of A x = b from start, by the method Options::method_for gives. a gives A’s products with vectors, and b has one item for each equation. A system that isn’t square, or whose a gives products with A’s transpose through Mapping::vjp, gets its least-squares solution, from the normal equations AᵀA x = Aᵀb. A right-hand side of zeros gives zeros. a’s Mapping::precondition gives the products of a preconditioner M, which approximates A⁻¹, or (AᵀA)⁻¹ for least squares. CG and MINRES need M symmetric positive definite, and GMRES applies it on the right. A good M cuts the products a solve needs.
§Panics
If Options::check rejects the options.