pub struct GaugeComposedJacobian { /* private fields */ }Expand description
A BlockEffectiveJacobian that composes an inner callback’s raw-width
effective Jacobian with a fixed reduced→raw block transform T_b
(p_raw × r_reduced), so the family sees the reduced coordinates by
construction (#933).
The inner callback emits its row Jacobian in the raw coordinate system
((rows · k) × p_raw), the layout every BlockEffectiveJacobian impl
produces — channel-major rows, raw columns. Post-multiplying each row by
T_b rotates those raw columns into the reduced section: the effective
reduced Jacobian is J_raw · T_b, with r_reduced columns. On the model
η = J_raw · β_raw = (J_raw · T_b) · θ this is the exact reduced operator
for the reduced coefficient θ, and the family lifts θ back to β_raw through
the SAME T_b via the one Gauge.
This is the inversion #933 calls for: instead of forwarding a raw-width
callback alongside a column-selection T_i (which leaves the family
asserting raw column counts on a reduced spec and panicking), the callback
is wrapped so its output already has the reduced width — the family captures
the reduced design and its row-Hessian column-count assertions hold by
construction. A column-selection T_b (zero/one entries) makes this exactly
the audit’s drop; a general orthonormal T_b makes it any gauge section.
Implementations§
Trait Implementations§
Source§impl BlockEffectiveJacobian for GaugeComposedJacobian
impl BlockEffectiveJacobian for GaugeComposedJacobian
Source§fn effective_jacobian_rows(
&self,
state: &FamilyLinearizationState<'_>,
rows: Range<usize>,
) -> Result<Array2<f64>, String>
fn effective_jacobian_rows( &self, state: &FamilyLinearizationState<'_>, rows: Range<usize>, ) -> Result<Array2<f64>, String>
Source§fn eta_row_scaling_for_skewness(&self) -> Option<Arc<[f64]>>
fn eta_row_scaling_for_skewness(&self) -> Option<Arc<[f64]>>
RowScaledJacobian). Used by the
identifiability audit’s skewness-aware bias correction (T25). Read moreSource§fn effective_jacobian_at(
&self,
state: &FamilyLinearizationState<'_>,
) -> Result<Array2<f64>, String>
fn effective_jacobian_at( &self, state: &FamilyLinearizationState<'_>, ) -> Result<Array2<f64>, String>
Auto Trait Implementations§
impl !RefUnwindSafe for GaugeComposedJacobian
impl !UnwindSafe for GaugeComposedJacobian
impl Freeze for GaugeComposedJacobian
impl Send for GaugeComposedJacobian
impl Sync for GaugeComposedJacobian
impl Unpin for GaugeComposedJacobian
impl UnsafeUnpin for GaugeComposedJacobian
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.