pub enum CoefficientPriorMean {
Zero,
Scalar(f64),
Constant(ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>),
Functional {
metadata: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>,
evaluator: Arc<dyn Fn(&ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>) -> ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>> + Send + Sync>,
},
KernelBasis {
covariates: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>,
amplitude: f64,
kernel: Arc<dyn Fn(&ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>) -> ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>> + Send + Sync>,
},
}Expand description
Programmatic prior mean for a coefficient penalty block.
This type now lives in the neutral gam-problem crate (with its inherent
evaluate returning gam_problem::PriorMeanError); re-exported here so all
existing crate::estimate::CoefficientPriorMean references keep resolving.
Solver-side callers map PriorMeanError into EstimationError::InvalidInput.
Programmatic prior mean for a coefficient penalty block.
The mean is evaluated once during penalty canonicalization and then enters
the solver as the centering vector in (beta - mean)' S (beta - mean).
Variants§
Zero
Scalar(f64)
Constant(ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>)
Functional
Fields
KernelBasis
Covariate-functional mean mu(a) = amplitude * K(a) for a coefficient block.
Formula-level coefficient groups pass their row/covariate metadata as
covariates; the user-supplied kernel returns the block-sized basis
vector K(a) and the scalar amplitude supplies alpha.
Implementations§
Source§impl CoefficientPriorMean
impl CoefficientPriorMean
pub const fn scalar(value: f64) -> CoefficientPriorMean
pub fn constant( values: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ) -> CoefficientPriorMean
pub fn functional( metadata: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, evaluator: Arc<dyn Fn(&ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>) -> ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>> + Send + Sync>, ) -> CoefficientPriorMean
pub fn kernel_basis( covariates: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, amplitude: f64, kernel: Arc<dyn Fn(&ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>) -> ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>> + Send + Sync>, ) -> CoefficientPriorMean
pub fn evaluate( &self, block_dim: usize, context: &str, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, PriorMeanError>
Trait Implementations§
Source§impl Clone for CoefficientPriorMean
impl Clone for CoefficientPriorMean
Source§fn clone(&self) -> CoefficientPriorMean
fn clone(&self) -> CoefficientPriorMean
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 CoefficientPriorMean
impl Debug for CoefficientPriorMean
Source§impl Default for CoefficientPriorMean
impl Default for CoefficientPriorMean
Source§fn default() -> CoefficientPriorMean
fn default() -> CoefficientPriorMean
Auto Trait Implementations§
impl !RefUnwindSafe for CoefficientPriorMean
impl !UnwindSafe for CoefficientPriorMean
impl Freeze for CoefficientPriorMean
impl Send for CoefficientPriorMean
impl Sync for CoefficientPriorMean
impl Unpin for CoefficientPriorMean
impl UnsafeUnpin for CoefficientPriorMean
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.