pub struct DictionaryReport {
pub gauge: ResidualGaugeReport,
pub structure: StructureCertificate,
pub transport_ladders: Vec<AtomTransportLadderReport>,
pub atom_inference: Vec<AtomInferenceReport>,
}Expand description
The model’s two certificates, shipped together (#984 work-plan step 2): the residual-gauge report says what NO data could distinguish (the symmetry group the fit is identified up to — a statement about the model class), the structure certificate says what THIS data established (the e-BH-confirmed subset of the dictionary’s structural claims, FDR ≤ α, valid at the caller’s stopping time — a statement about the world). A claim can fail both ways, and the failure modes are independent: an atom can be perfectly identified yet statistically unestablished, or strongly evidenced yet gauge-ambiguous with a twin.
Fields§
§gauge: ResidualGaugeReportWhat cannot be distinguished in principle (residual_gauge).
structure: StructureCertificateWhat the data established
(gam_terms::inference::structure_evidence::StructureLedger::certify).
transport_ladders: Vec<AtomTransportLadderReport>Per-atom inter-layer transport ladders (#1096). Empty when the caller
has not supplied at least one atom’s canonical coordinates across two or
more layers. These reports are computed in the transport module’s chart
convention: circle coordinates are radians on [0, 2π), while SAE
canonical circle charts may use an arbitrary period and are rescaled by
dictionary_report_with_transport_ladders before fitting.
atom_inference: Vec<AtomInferenceReport>Per-atom post-PIRLS inference reports (#1097 penalty-debiased functional
POINT summaries, #1103 split-LRT smooth-structure e-value), one entry
per atom in FittedSaeManifold::atoms order. The #1099 per-atom
curvature CI was removed under #1115 (a curvature BOUND is not an
estimand and its SE conditioned on generated regressors); the surviving
plug-in curvature point estimate lives on
crate::manifold::CertificateInputs::per_atom_kappa_hat,
not here. Each report’s
fields are computed when the atom carries its fit-time
AtomInnerFit byproducts and the relevant numerics succeed; otherwise
the field is None (a bare certificate-only FittedSaeManifold — one
built by the residual-gauge path with no fit harness — leaves every
inner_fit None, so both fields are None).
Trait Implementations§
Source§impl Clone for DictionaryReport
impl Clone for DictionaryReport
Source§fn clone(&self) -> DictionaryReport
fn clone(&self) -> DictionaryReport
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 DictionaryReport
impl RefUnwindSafe for DictionaryReport
impl Send for DictionaryReport
impl Sync for DictionaryReport
impl Unpin for DictionaryReport
impl UnsafeUnpin for DictionaryReport
impl UnwindSafe for DictionaryReport
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,
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.