pub struct TensorChannelHessian {
pub h: Array3<f64>,
}Expand description
A FamilyChannelHessian backed directly by a pre-computed
(n × K × K) tensor. Used by the default channel_hessian_at
implementation and by tests.
This is the β-independent path: fill_subject reads from the frozen
tensor without any recomputation.
Fields§
§h: Array3<f64>Trait Implementations§
Source§impl FamilyChannelHessian for TensorChannelHessian
impl FamilyChannelHessian for TensorChannelHessian
Source§fn n_subjects(&self) -> usize
fn n_subjects(&self) -> usize
Number of subjects (rows).
Source§fn fill_subject(&self, i: usize, out: &mut [f64])
fn fill_subject(&self, i: usize, out: &mut [f64])
Fill the
n_outputs × n_outputs per-subject channel Hessian W_i
into out (row-major, length n_outputs * n_outputs) for subject i.
Negative eigenvalues must be clamped to zero (PSD projection) before
or inside this call.Source§fn evaluate_full(&self) -> Array3<f64>
fn evaluate_full(&self) -> Array3<f64>
Materialise the full
(n_subjects × n_outputs × n_outputs) tensor.
Default implementation calls fill_subject for each row.Auto Trait Implementations§
impl Freeze for TensorChannelHessian
impl RefUnwindSafe for TensorChannelHessian
impl Send for TensorChannelHessian
impl Sync for TensorChannelHessian
impl Unpin for TensorChannelHessian
impl UnsafeUnpin for TensorChannelHessian
impl UnwindSafe for TensorChannelHessian
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.