pub struct OuterCriterionCertificate {
pub stationarity: OuterStationarityCertificate,
pub hessian_psd: Option<bool>,
pub lambdas_railed: Vec<usize>,
pub curvature_floor: Option<CurvatureFloorClearance>,
}Fields§
§stationarity: OuterStationarityCertificate§hessian_psd: Option<bool>Whether the final outer Hessian is positive semidefinite (within a
scaled tolerance) at θ̂, when the solver tracked one (None when no
final Hessian was available).
lambdas_railed: Vec<usize>Leading smoothing coordinates (ρ block) pinned within
[CERTIFICATE_RAIL_MARGIN] of either box bound at the optimum.
curvature_floor: Option<CurvatureFloorClearance>The gradient-residue floor’s verdict on that same curvature, when it was
computed. hessian_psd above stays the raw measurement; this records
whether the most negative interior direction is below the instrument’s
own resolution, and by how much.
Implementations§
Source§impl OuterCriterionCertificate
impl OuterCriterionCertificate
Sourcepub fn is_stationary(&self) -> bool
pub fn is_stationary(&self) -> bool
First-order (KKT) stationarity: the projected analytic gradient or root-equivalent fixed-point residual clears its declared bound.
Sourcepub fn curvature_admissible(&self) -> bool
pub fn curvature_admissible(&self) -> bool
Second-order admissibility: a certified optimum must not sit on genuinely indefinite analytic curvature. A nearby box rail is only a diagnostic; it cannot waive negative curvature in unrelated free directions. If a future certificate projects onto the exact critical cone, that projected result can be recorded here instead.
Sourcepub fn certifies(&self) -> bool
pub fn certifies(&self) -> bool
Whether the certificate accepts the returned point as a constrained
minimum. This is the load-bearing verdict: a false here rejects the
fit with typed non-convergence.
Trait Implementations§
Source§impl Certificate for OuterCriterionCertificate
impl Certificate for OuterCriterionCertificate
Source§fn evidence(&self) -> BTreeMap<&'static str, EvidenceValue>
fn evidence(&self) -> BTreeMap<&'static str, EvidenceValue>
Source§fn verdict(&self) -> Verdict
fn verdict(&self) -> Verdict
Verdict::Unavailable /
Verdict::Insufficient rather than a silent pass when the evidence is
missing or below margin.Source§fn ledger_entry(&self) -> LedgerEntry
fn ledger_entry(&self) -> LedgerEntry
Source§impl Clone for OuterCriterionCertificate
impl Clone for OuterCriterionCertificate
Source§fn clone(&self) -> OuterCriterionCertificate
fn clone(&self) -> OuterCriterionCertificate
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OuterCriterionCertificate
impl Debug for OuterCriterionCertificate
Source§impl<'de> Deserialize<'de> for OuterCriterionCertificate
impl<'de> Deserialize<'de> for OuterCriterionCertificate
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<OuterCriterionCertificate, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<OuterCriterionCertificate, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for OuterCriterionCertificate
impl Serialize for OuterCriterionCertificate
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for OuterCriterionCertificate
impl RefUnwindSafe for OuterCriterionCertificate
impl Send for OuterCriterionCertificate
impl Sync for OuterCriterionCertificate
impl Unpin for OuterCriterionCertificate
impl UnsafeUnpin for OuterCriterionCertificate
impl UnwindSafe for OuterCriterionCertificate
Blanket Implementations§
impl<T> Allocation 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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.