pub struct ContractFeasibleStep {
pub fraction: f64,
pub blocking_row: Option<usize>,
pub blocking_scaled_slack: f64,
pub blocking_scaled_drift: f64,
}Expand description
Result of the contract-feasible ratio test
(ConstraintSet::max_contract_feasible_step).
Fields§
§fraction: f64Largest fraction in [0, 1] such that β + fraction·δ is feasible at
PRIMAL_FEASIBILITY_TOL. 1.0 means no row limits the step.
0.0 is a legitimate, non-exceptional answer: it says a row is active
at β and δ points strictly out of it by more than round-off, so no
positive multiple of δ is admissible. The remedy is a projection onto
the active face, not a smaller δ — the ratio test is invariant under
δ ↦ cδ once the numerator is zero, so shrinking a trust radius against
it cannot converge (gam#2719).
blocking_row: Option<usize>Row that limited fraction, if any.
blocking_scaled_slack: f64Scaled slack (a·β − b)/‖a‖ of blocking_row at β.
blocking_scaled_drift: f64Scaled drift (a·δ)/‖a‖ of blocking_row (strictly negative when a
row blocks).
Implementations§
Trait Implementations§
Source§impl Clone for ContractFeasibleStep
impl Clone for ContractFeasibleStep
Source§fn clone(&self) -> ContractFeasibleStep
fn clone(&self) -> ContractFeasibleStep
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ContractFeasibleStep
Source§impl Debug for ContractFeasibleStep
impl Debug for ContractFeasibleStep
Source§impl PartialEq for ContractFeasibleStep
impl PartialEq for ContractFeasibleStep
impl StructuralPartialEq for ContractFeasibleStep
Auto Trait Implementations§
impl Freeze for ContractFeasibleStep
impl RefUnwindSafe for ContractFeasibleStep
impl Send for ContractFeasibleStep
impl Sync for ContractFeasibleStep
impl Unpin for ContractFeasibleStep
impl UnsafeUnpin for ContractFeasibleStep
impl UnwindSafe for ContractFeasibleStep
Blanket Implementations§
impl<T> Boilerplate for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.