Skip to main content

ROW_NOISE_KAPPA

Constant ROW_NOISE_KAPPA 

Source
pub const ROW_NOISE_KAPPA: Number = 64.0;
Expand description

Safety factor on the per-row noise floor of IpoptCalculatedQuantities::row_noise_floor. The floor prices one component of x at eps · ‖x‖_∞ and passes it through the row at max_j |a_ij|; the row’s residual accumulates that over all of its nonzeros, and the linear solve’s conditioning widens it further, so the bare product is short by a problem-dependent factor. 64 covers a typical sparse row without reaching far enough to swallow a declared magnitude a model could have meant: at the ‖x‖_∞ ~ 1 of a well-posed problem the floor sits near 1.4e-14, still nine orders under constr_viol_tol’s default. Rows it silences fall back on the absolute feasibility test, which is already scale-invariant on a row whose declared magnitude is numerically zero.

Measured, and not a knife edge: over gh #446’s 15 problems plus the infeasibility-detection suites (false_local_infeasibility, infeasible_status_tol_invariance, issue_390_nonlinear_equality_scale), every value from 8 to 1024 gives the same verdicts. 1 is too small — QSCSD1’s rows are wide enough that the missing nonzero-count factor still leaves its 2^-53 RHS above the bound — so 64 sits an order of magnitude inside the band from either edge.