Skip to main content

Module aug_system_solver

Module aug_system_solver 

Source
Expand description

Augmented-system solver trait — port of IpAugSystemSolver.hpp.

Solves the symmetric saddle-point system

  [ W·factor + Σ_x + δ_x I       0          J_c^T   J_d^T ] [ dx ]   [ rx ]
  [          0           Σ_s + δ_s I        0       -I    ] [ ds ] = [ rs ]
  [         J_c                  0       -Σ_c-δ_c    0    ] [ dyc]   [ rc ]
  [         J_d                 -I            0   -Σ_d-δ_d] [ dyd]   [ rd ]

See KKT_SYSTEM.md §3 for the sign convention. Σ_x = D_x, Σ_s = D_s, Σ_c = D_c, Σ_d = D_d are the diagonal weights pulled from IpoptCalculatedQuantities. Any of the D_* may be None, interpreted as zero. delta_* are the perturbations driven by the PerturbationHandler.

Structs§

AugSysCoeffs
Bundle of the matrices/vectors that define one augmented-system instance. Lives only for the duration of the call. Mirrors the long argument list of upstream AugSystemSolver::Solve.
AugSysRhs
Right-hand sides for one solve. All four slices are required; upstream always provides all four (even if some are zero).
AugSysSol
Solution slots, written in place. Must already be sized to match the corresponding RHS dim.

Traits§

AugSystemSolver
Trait surface mirroring Ipopt::AugSystemSolver.