pub struct JointRankCertificate {
pub spectrum: Vec<f64>,
pub tol: f64,
pub gap: f64,
}Expand description
The joint-rank decision an audit took, kept with the margin that makes it transportable (#2337 §8 Thm 8.3).
An identifiability audit ranks the design at ONE operating point, but the
fit then moves that point. A bare rank cannot say whether it still holds
after the move; a rank plus its certified gap can, because the gap converts
into a radius (gam_linalg::decision::rank_transport_radius) inside which
no operator perturbation can change the decision. Recorded here so a later
audit can price its own excursion against the earlier one’s margin instead
of comparing two bare integers.
Held as the raw ingredients of the decision rather than a decision object,
so this stays plain data per the module contract AND so there is one source
of truth: a consumer re-derives the verdict with
gam_linalg::decision::certified_rank(&spectrum, tol, gap) instead of
trusting a stored copy that could drift from the spectrum beside it.
Fields§
§spectrum: Vec<f64>The equilibrated penalty-augmented joint spectrum, descending. Two
spectra of the same operator family give a Weyl LOWER bound on the
operator excursion between their operating points
(gam_linalg::decision::spectral_excursion_lower_bound) — enough to
prove an earlier certificate VOID, never enough to prove it carries.
tol: f64Tolerance the decision was posed at.
gap: f64Multiplicative half-gap the decision was posed with.
Trait Implementations§
Source§impl Clone for JointRankCertificate
impl Clone for JointRankCertificate
Source§fn clone(&self) -> JointRankCertificate
fn clone(&self) -> JointRankCertificate
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 JointRankCertificate
impl RefUnwindSafe for JointRankCertificate
impl Send for JointRankCertificate
impl Sync for JointRankCertificate
impl Unpin for JointRankCertificate
impl UnsafeUnpin for JointRankCertificate
impl UnwindSafe for JointRankCertificate
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
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> ⓘ
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.