pub struct ReducedRowActivityReport {
pub mu: f64,
pub row: Vec<usize>,
pub status: Vec<i8>,
pub ratio: Vec<f64>,
pub q_reduced: Vec<f64>,
pub q_sign: Vec<i8>,
pub sigma: Vec<f64>,
}Expand description
One constraint row’s activity re-measured against the curvature that actually generates its multiplier, rather than against the directional curvature along its own gradient (gh#804).
Parallel arrays, one entry per requested row, in the order they
were requested. See reduced_row_activity for what the
quantities mean.
Fields§
§mu: f64Barrier parameter of the converged iterate, as
ActivityReport::mu.
row: Vec<usize>The user-space constraint index each entry answers about.
status: Vec<i8>Status from the same rule ActivityReport::row_status uses,
applied to Self::ratio.
ratio: Vec<f64>Σ_j‖∇dⱼ‖² / |q_j^red|. NaN where nothing was classified.
The numerator is the geometric barrier weight, not the raw
Σ_j Self::sigma reports — the same pairing
ActivityReport::row_ratio uses, so the two ratios are
directly comparable and agree on a decoupled row.
q_reduced: Vec<f64>The reduced curvature q_j^red itself, signed, along the
unit normal ∇dⱼ/‖∇dⱼ‖ and in natural (unscaled)
units — the same quantity and units
ActivityReport::row_q_sign takes the sign of, so it is what
|∇dⱼᵀH∇dⱼ|/‖∇dⱼ‖² would have been had the curvature been
reduced. NaN for an EQUALITY row and where the back-solve
offers no reduced curvature (see reduced_row_activity).
q_sign: Vec<i8>Sign of Self::q_reduced (−1, 0, +1); the absolute value is
what the ratio divides by.
sigma: Vec<f64>Σ_j, RAW (not the geometric weight the ratio uses) and in
natural units, identical to the same row’s entry in
ActivityReport::row_sigma.
Trait Implementations§
Source§impl Clone for ReducedRowActivityReport
impl Clone for ReducedRowActivityReport
Source§fn clone(&self) -> ReducedRowActivityReport
fn clone(&self) -> ReducedRowActivityReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ReducedRowActivityReport
impl RefUnwindSafe for ReducedRowActivityReport
impl Send for ReducedRowActivityReport
impl Sync for ReducedRowActivityReport
impl Unpin for ReducedRowActivityReport
impl UnsafeUnpin for ReducedRowActivityReport
impl UnwindSafe for ReducedRowActivityReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more