pub struct AtomParameterView {
pub basis_values: Array2<f64>,
pub basis_jacobian: Array3<f64>,
pub decoder: Array2<f64>,
pub coords: Array2<f64>,
pub activations: Array1<f64>,
pub basis_second_jet: Option<Array4<f64>>,
}Expand description
One atom’s exact parameter-space view (#998): the raw objects the fit actually optimizes, in which the model-class gauge orbits live.
The mean-frame certificate (FittedAtom::frame) is a lossy compression:
the true gauge orbits are compensated motions — the latent coordinates
move AND the decoder counter-rotates (e.g. Φ(t+ε)·R(−ε)B = Φ(t)B for the
harmonic circle) — whose net action on the mean frame is identically zero,
so no frame-space realisation can measure them (#995’s calibrated tolerance
is the honest floor there). With this view the certificate realises each
orbit exactly: the coordinate motion field δt comes from the group
action, and the decoder compensation δB is profiled out by least
squares against the data motion. The leftover residual is the orbit’s
true data cost — exactly zero when the basis family is closed under the
action (harmonics under shifts, linear charts under rotations), genuinely
positive when it is not (a Duchon patch under so(d)). Basis closure is
therefore a computed per-generator quantity, not a declared flag.
Fields§
§basis_values: Array2<f64>Basis values Φ, (n, M).
basis_jacobian: Array3<f64>Basis first-derivative jet Φ', (n, M, latent_dim).
decoder: Array2<f64>Decoder coefficients B, (M, p).
coords: Array2<f64>Latent coordinates t, (n, latent_dim) — the chart the group acts on.
activations: Array1<f64>Per-row assignment mass a_nk, length n.
basis_second_jet: Option<Array4<f64>>Basis second-derivative jet Φ'', (n, M, latent_dim, latent_dim).
Required only to lower an isometry OrbitPenaltyOperator for a
pin-active fit (#998): the penalty is a function of the pullback
metric g_n = J_nᵀ W_n J_n, and the first-order change of g_n under a
coordinate motion δt differentiates J_n = Φ'_n B through t, which
needs Φ''. None keeps the data-only orbit verdict (no pin), exactly
as before; absence never errors.
Trait Implementations§
Source§impl Clone for AtomParameterView
impl Clone for AtomParameterView
Source§fn clone(&self) -> AtomParameterView
fn clone(&self) -> AtomParameterView
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 AtomParameterView
impl RefUnwindSafe for AtomParameterView
impl Send for AtomParameterView
impl Sync for AtomParameterView
impl Unpin for AtomParameterView
impl UnsafeUnpin for AtomParameterView
impl UnwindSafe for AtomParameterView
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.