pub struct ProbeView<'a> {
pub n_vars: usize,
pub m_rows: usize,
pub jac_irow: &'a [Index],
pub jac_jcol: &'a [Index],
pub jac_values: Option<&'a [Number]>,
pub g_l: &'a [Number],
pub g_u: &'a [Number],
pub linearity: Option<&'a [Linearity]>,
pub one_based: bool,
pub eq_tol: Number,
pub excluded_vars: Option<&'a [bool]>,
pub excluded_rows: Option<&'a [bool]>,
}Expand description
View into the data we need to build an EqualityIncidence.
Decoupled from TNLP itself so this module stays unit-testable
without spinning up a full inner problem.
Fields§
§n_vars: usizeNumber of variables.
m_rows: usizeNumber of inner constraint rows.
jac_irow: &'a [Index]Inner Jacobian sparsity (one entry per structural nonzero).
jac_jcol: &'a [Index]§jac_values: Option<&'a [Number]>Optional Jacobian values at a probe point. When provided,
entries that evaluate to exactly 0.0 are dropped — this
removes structural zeros that linearity hasn’t already
excluded.
g_l: &'a [Number]§g_u: &'a [Number]§linearity: Option<&'a [Linearity]>Optional per-row linearity tags; unused by PR 2 but plumbed for PR 5’s coupling classifier.
one_based: booltrue when the inner TNLP uses Fortran (1-based) indexing.
eq_tol: NumberTolerance for g_l[i] == g_u[i]. Rows tighter than this are
treated as equalities.
excluded_vars: Option<&'a [bool]>PR 13: per-variable mask. true entries are excluded from
the incidence graph. Used to drop trivially-fixed variables
(x_l[i] == x_u[i]) before matching.
excluded_rows: Option<&'a [bool]>PR 13: per-row mask. true entries are excluded from the
incidence graph. Used to drop free rows and trivially-slack
inequalities before matching.