pub struct LocalSmoothTermBuild {Show 13 fields
pub dim: usize,
pub design: DesignMatrix,
pub penalties: Vec<Array2<f64>>,
pub ops: Vec<Option<Arc<dyn PenaltyOp>>>,
pub nullspaces: Vec<usize>,
pub null_eigenvectors: Vec<Option<Array2<f64>>>,
pub joint_null_rotation: Option<JointNullRotation>,
pub penaltyinfo: Vec<PenaltyInfo>,
pub pre_dropped_penaltyinfo: Vec<PenaltyInfo>,
pub metadata: BasisMetadata,
pub linear_constraints: Option<LinearInequalityConstraints>,
pub box_reparam: bool,
pub kronecker_factored: Option<KroneckerFactoredBasis>,
}Fields§
§dim: usize§design: DesignMatrix§penalties: Vec<Array2<f64>>§ops: Vec<Option<Arc<dyn PenaltyOp>>>§nullspaces: Vec<usize>§null_eigenvectors: Vec<Option<Array2<f64>>>Per-active-penalty null-space eigenvector matrices, parallel to
penalties / ops / nullspaces. Some(U_null) when
nullspaces[k] > 0, with U_null orthonormal columns spanning
null(penalties[k]) in this smooth’s local coordinate system; None
when the active block is full-rank. Stage 1 plumbing; Stage 2
consumes this to absorb the smooth’s null space into the parametric
block at TermCollectionDesign construction.
joint_null_rotation: Option<JointNullRotation>Joint-null absorption rotation for this smooth. Some(rotation)
records Q = [U_range | U_null] spanning null(Σ_k penalties[k]),
the joint null across all active penalty blocks on this smooth.
None means the joint penalty is full-rank (joint nullity = 0) or
there are no penalties. Stage-2 commit A: plumbing only — populated
by commit B, applied by commit D.
penaltyinfo: Vec<PenaltyInfo>§pre_dropped_penaltyinfo: Vec<PenaltyInfo>§metadata: BasisMetadata§linear_constraints: Option<LinearInequalityConstraints>§box_reparam: bool§kronecker_factored: Option<KroneckerFactoredBasis>Auto Trait Implementations§
impl !Freeze for LocalSmoothTermBuild
impl !RefUnwindSafe for LocalSmoothTermBuild
impl !UnwindSafe for LocalSmoothTermBuild
impl Send for LocalSmoothTermBuild
impl Sync for LocalSmoothTermBuild
impl Unpin for LocalSmoothTermBuild
impl UnsafeUnpin for LocalSmoothTermBuild
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.