Expand description
Standard augmented-system solver — port of
Algorithm/IpStdAugSystemSolver.{hpp,cpp}.
Flattens the four-block KKT matrix into a single lower-triangular
1-based triplet and hands it to a pounce_linsol::TSymLinearSolver.
On the first call the structure is computed (and the linsol’s
initialize_structure is invoked); subsequent calls only refill the
values array and call multi_solve. Matches the cache/skip logic in
upstream IpStdAugSystemSolver::CreateAugmentedSpace and
CreateAugmentedSystem.
Sign convention follows upstream:
(1,1) = w_factor·W + diag(D_x + δ_x)
(2,2) = diag(D_s + δ_s)
(3,1) = J_c
(3,3) = -diag(D_c + δ_c)
(4,1) = J_d
(4,2) = -I
(4,4) = -diag(D_d + δ_d)Phase-6 first cut: assumes W is a SymTMatrix, J_c/J_d are
GenTMatrix, and D_* are DenseVectors — the only concrete
types OrigIpoptNLP produces. CompoundMatrix/CompoundVector
flattening (used by L-BFGS in Phase 8) is deferred.
Structs§
- StdAug
System Solver - Standard augmented-system solver.