#[non_exhaustive]pub struct FemSmoothResult {
pub node_values: Vec<f64>,
pub fitted_obs: Vec<f64>,
pub edf: f64,
pub gcv: f64,
pub rss: f64,
pub lambda: f64,
pub n_nodes: usize,
pub n_triangles: usize,
}Expand description
Result of FEM/PDE-regularized surface smoothing.
Returned by fem_smooth and fem_smooth_gcv (wave-2). Defined here in the foundation
plan so wave-2 implementations can reference it without re-definition.
All matrices stored as row-major flat Vec<f64> internally; fitted values are plain
Vec<f64> of length n_nodes and n_obs respectively.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.node_values: Vec<f64>Fitted surface values at the mesh nodes (length n_nodes).
The coefficient vector c solving (Φ'Φ + λ·K) c = Φ'y.
fitted_obs: Vec<f64>Fitted values at the observation locations obs_xy (length n_obs).
Computed as fitted_obs[i] = Σ_k φ_k(obs_xy[i]) * c[k].
edf: f64Effective degrees of freedom — trace of the hat matrix Φ(Φ'Φ + λK)⁻¹Φ'.
gcv: f64Generalised cross-validation score.
GCV = n · RSS / (n − edf)². Set to f64::INFINITY if edf ≥ n_obs.
rss: f64Residual sum of squares at the observation locations.
lambda: f64Smoothing parameter λ used for this result.
n_nodes: usizeNumber of mesh nodes N.
n_triangles: usizeNumber of triangles T.
Trait Implementations§
Source§impl Clone for FemSmoothResult
impl Clone for FemSmoothResult
Source§fn clone(&self) -> FemSmoothResult
fn clone(&self) -> FemSmoothResult
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 FemSmoothResult
impl Debug for FemSmoothResult
Source§impl PartialEq for FemSmoothResult
impl PartialEq for FemSmoothResult
impl StructuralPartialEq for FemSmoothResult
Auto Trait Implementations§
impl Freeze for FemSmoothResult
impl RefUnwindSafe for FemSmoothResult
impl Send for FemSmoothResult
impl Sync for FemSmoothResult
impl Unpin for FemSmoothResult
impl UnsafeUnpin for FemSmoothResult
impl UnwindSafe for FemSmoothResult
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> 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,
impl<T> Scalar for T
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.