Skip to main content

Module factorization

Module factorization 

Source
Expand description

Public factor-once / solve-many handle.

Factorization is the user-facing value type for “I have a sparse symmetric matrix, factor it once, then solve against the factor repeatedly.” It wraps an arbitrary SparseSymLinearSolverInterface backend (feral, MA57, etc.) and the TSymLinearSolver driver that handles triplet→CSR conversion and the CallAgain retry loop for backends that may grow their factor arrays.

Two operations preserve the cached factor:

  • Factorization::solve — back-substitute against the current factor. Cheap; reuses the LDLᵀ factors.
  • Factorization::refactor — supply new numeric values for the same sparsity pattern; backend reuses its symbolic factor (AMD ordering, elimination tree, pattern cache) and only redoes the numeric work.

See the examples/shift_invert.rs example for a worked use of factor-once / many-RHS for a shift-invert eigenvalue probe.

§Example

use pounce_linsol::{Factorization, FactorizationError};

Structs§

Factorization
Value-typed handle holding a sparse symmetric factorization.