Skip to main content

Module backsolver

Module backsolver 

Source
Expand description

SensBacksolver trait — abstract backsolver against a converged KKT factor.

Mirrors upstream SensBacksolver.hpp.

§What this is

After pounce’s IPM converges, the KKT factor K is stored on the algorithm side (pounce-algorithm::kkt::PdFullSpaceSolver). sIPOPT runs a small number of backsolves against that factor to build the sensitivity matrix P = K⁻¹ A (see crate::p_calculator::PCalculator). The trait surface is just “solve K · lhs = rhs”; concrete impls plug in either the real AugSystemSolver (Phase B.2) or a synthetic dense-LU backsolver (Phase B.1, this file, for unit testing the sensitivity math).

Upstream SensSimpleBacksolver is the analogous wrapper around Ipopt’s AugSystemSolver (SensSimpleBacksolver.{hpp,cpp}).

Structs§

DenseLuBacksolver
Synthetic dense-LU backsolver. Used in this crate’s tests to validate the sensitivity math against known-good linear-algebra answers without standing up the full pounce IPM. Phase B.2 ships a real pounce-algorithm-backed implementation; this stays for regression tests and as a reference for the trait contract.

Traits§

SensBacksolver
Solve K · lhs = rhs against the converged KKT factor. Returns false on failure (e.g. backend reports Singular).