Skip to main content

IpoptSolverKktSolve

Function IpoptSolverKktSolve 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn IpoptSolverKktSolve( solver: IpoptSolver, rhs: *const Number, lhs: *mut Number, ) -> Bool
Expand description

Solve K · lhs = rhs against the converged KKT factor. Both rhs and lhs are flat buffers of length IpoptSolverGetKktDim in the x || s || y_c || y_d || z_l || z_u || v_l || v_u packing.

K is the natural-units (unscaled) KKT matrix: any NLP scaling the IPM applied (nlp_scaling_method) is undone in the back-solve, so RHS and solution are in the user’s own units (pounce#128). Use IpoptSolverKktSolveScaled for the raw back-solve against the factor exactly as the IPM holds it (the pre-#128 behavior).

Returns TRUE on success, FALSE if no factor is held or the back-solve fails.

§Safety

rhs and lhs must point to buffers at least IpoptSolverGetKktDim doubles long.