pub struct CustomFamilyHyperLayout { /* private fields */ }Expand description
Validated global layout for exact custom-family hyperparameter calculus.
Family-owned axes are represented explicitly. In particular, an empty
X_psi/S_psi pair is still a design/penalty axis; it is never interpreted
as an auxiliary family parameter. This makes first-order, pairwise, and
mixed-beta dispatch use the same coordinate identity.
Implementations§
Source§impl CustomFamilyHyperLayout
impl CustomFamilyHyperLayout
Sourcepub fn new(
design_derivative_blocks: Vec<Vec<CustomFamilyBlockPsiDerivative>>,
family_axes: Vec<usize>,
values: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>,
) -> Result<CustomFamilyHyperLayout, String>
pub fn new( design_derivative_blocks: Vec<Vec<CustomFamilyBlockPsiDerivative>>, family_axes: Vec<usize>, values: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ) -> Result<CustomFamilyHyperLayout, String>
Construct a layout with an explicit list of family-local axes.
family_axes must be exactly 0..family_axes.len(). Requiring the
caller to provide that list makes adding a family parameter an explicit
breaking change at the evaluation site, while the validation prevents
duplicate, missing, or reordered family identities.
pub fn block_count(&self) -> usize
pub fn design_axis_count(&self) -> usize
pub fn family_axis_count(&self) -> usize
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn design_derivative_blocks(&self) -> &[Vec<CustomFamilyBlockPsiDerivative>]
pub fn family_axes(&self) -> &[usize]
Sourcepub fn values(&self) -> &ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>
pub fn values(&self) -> &ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>
Exact non-rho coordinate values used to realize this manifest.
The vector is aligned one-to-one with Self::axis and is part of the
immutable evaluation identity carried into the owned coefficient mode.
Sourcepub fn axis(&self, global_index: usize) -> Option<CustomFamilyHyperAxis>
pub fn axis(&self, global_index: usize) -> Option<CustomFamilyHyperAxis>
Resolve a global hyperparameter coordinate to its typed identity.
pub fn design_derivative( &self, global_index: usize, ) -> Option<(usize, usize, &CustomFamilyBlockPsiDerivative)>
pub fn family_axis(&self, global_index: usize) -> Option<usize>
Trait Implementations§
Source§impl Clone for CustomFamilyHyperLayout
impl Clone for CustomFamilyHyperLayout
Source§fn clone(&self) -> CustomFamilyHyperLayout
fn clone(&self) -> CustomFamilyHyperLayout
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 !RefUnwindSafe for CustomFamilyHyperLayout
impl !UnwindSafe for CustomFamilyHyperLayout
impl Freeze for CustomFamilyHyperLayout
impl Send for CustomFamilyHyperLayout
impl Sync for CustomFamilyHyperLayout
impl Unpin for CustomFamilyHyperLayout
impl UnsafeUnpin for CustomFamilyHyperLayout
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> 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.