pub struct CollateralCurve {
pub atom: usize,
pub axis: usize,
pub others: Vec<usize>,
pub manifold: CollateralArm,
pub flat: CollateralArm,
pub manifold_is_cleaner: bool,
}Expand description
The on-manifold-vs-flat collateral-damage comparison for one target atom
(gam#2234 E2 thesis, measured intrinsically — no model surgery, no outer-fit
convergence in the loop). The two arms move the SAME per-row ambient energy:
the flat arm applies it along a single fixed decoder direction (the flat-SAE
x' = x + α·w baseline), the manifold arm applies the chart-coordinate group
action x' = x + a·(Φ_k(t⊕δ) − Φ_k(t))·B_k, which rotates with each row’s
coordinate to stay on the atom’s decoded image. The thesis: at matched
per-row norm the manifold arm spends strictly less collateral per unit
on-target effect — curved features are the right control knobs.
Fields§
§atom: usizeThe steered (target) atom.
axis: usizeThe target atom’s latent axis the dose is applied along.
others: Vec<usize>The atoms collateral is measured against (typically every j ≠ atom).
manifold: CollateralArmThe on-manifold group-action arm.
flat: CollateralArmThe matched-per-row-norm fixed-direction (flat-SAE) control arm.
manifold_is_cleaner: booltrue when the on-manifold arm spends strictly less collateral per unit
on-target effect than the flat arm (manifold.efficiency < flat.efficiency),
with both efficiencies finite — the E2 dominance verdict, decided
structurally in the SAE’s own representation.
Trait Implementations§
Source§impl Clone for CollateralCurve
impl Clone for CollateralCurve
Source§fn clone(&self) -> CollateralCurve
fn clone(&self) -> CollateralCurve
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 CollateralCurve
impl Debug for CollateralCurve
Source§impl PartialEq for CollateralCurve
impl PartialEq for CollateralCurve
Source§impl Serialize for CollateralCurve
impl Serialize for CollateralCurve
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,
impl StructuralPartialEq for CollateralCurve
Auto Trait Implementations§
impl Freeze for CollateralCurve
impl RefUnwindSafe for CollateralCurve
impl Send for CollateralCurve
impl Sync for CollateralCurve
impl Unpin for CollateralCurve
impl UnsafeUnpin for CollateralCurve
impl UnwindSafe for CollateralCurve
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<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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,
impl<T> Scalar for T
impl<T> Scalar for T
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.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.