pub struct OrbitPenaltyOperator {
pub apply: Box<dyn Fn(ArrayView2<'_, f64>, ArrayView2<'_, f64>) -> Array1<f64> + Send + Sync>,
pub stiffness_sq: f64,
}Expand description
The penalty/prior channel of the exact certificate: an operator returning
the penalty curvature root’s image of an orbit direction (δB, δt),
together with its stiffness scale σ_max². With exact orbits the data can
never pin a model-class symmetry (the LS-compensated motion is a data-null
by construction for closed bases), so all pinning of such symmetries
flows through this channel — exactly where the #981 gauge-reduction ladder
says identification lives (the isometry pin does the collapsing, rungs 2
and 4, in whichever metric it is computed). None ⇒ no pin installed on
this atom; the orbit’s verdict is then decided by the data residual alone.
Fields§
§apply: Box<dyn Fn(ArrayView2<'_, f64>, ArrayView2<'_, f64>) -> Array1<f64> + Send + Sync>Maps an orbit direction (δB (M, p), δt (n, latent_dim)) to the
penalty curvature root’s image (any length); the penalty cost along the
direction is the squared norm of the image.
stiffness_sq: f64σ_max² of the penalty curvature root — the stiffness scale the
orbit’s penalty cost is reported relative to (the same
relative-curvature convention as the frame certificate).
Auto Trait Implementations§
impl !RefUnwindSafe for OrbitPenaltyOperator
impl !UnwindSafe for OrbitPenaltyOperator
impl Freeze for OrbitPenaltyOperator
impl Send for OrbitPenaltyOperator
impl Sync for OrbitPenaltyOperator
impl Unpin for OrbitPenaltyOperator
impl UnsafeUnpin for OrbitPenaltyOperator
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> 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.