pub enum RBFInterpolatorBuilder<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> {
Linear,
ThinPlateSpline,
Cubic,
Quintic,
Multiquadratic {
epsilon: T,
},
InverseMultiquadratic {
epsilon: T,
},
InverseQuadratic {
epsilon: T,
},
Gaussian {
epsilon: T,
},
}Expand description
You must provide the number of monomials terms for your choice of polynomial degree and points dimension.
i.e. A degree 1 polynomial in two variables will incur the following monomials: 1, x, y Degree 2 will incur: 1, x, y, xy, x^2, y^2
In general, monomials = (degree + dimension) choose (degree)
Variants§
Linear
r
ThinPlateSpline
r^2 * log(r)
Cubic
r^3
Quintic
r^5
Multiquadratic
-sqrt(1 + r^2)
Fields
§
epsilon: TInverseMultiquadratic
1/sqrt(1 + r^2)
Fields
§
epsilon: TInverseQuadratic
1/(1 + r^2)
Fields
§
epsilon: TGaussian
exp(-r^2)
Fields
§
epsilon: TImplementations§
Source§impl<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> RBFInterpolatorBuilder<T, DEGREE, MONOMIALS, POINTS, DIM>
impl<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> RBFInterpolatorBuilder<T, DEGREE, MONOMIALS, POINTS, DIM>
Sourcepub fn build<SP, SV>(
self,
points: Matrix<T, Const<DIM>, Const<POINTS>, SP>,
values: Vector<T, Const<POINTS>, SV>,
) -> Option<RBFInterpolator<T, DEGREE, MONOMIALS, POINTS, DIM, SP, ArrayStorage<T, { _ }, 1>>>
pub fn build<SP, SV>( self, points: Matrix<T, Const<DIM>, Const<POINTS>, SP>, values: Vector<T, Const<POINTS>, SV>, ) -> Option<RBFInterpolator<T, DEGREE, MONOMIALS, POINTS, DIM, SP, ArrayStorage<T, { _ }, 1>>>
Number of points with dimension provided as a matrix of collum vectors, with their values in a seperate vector.
Returns None when the linear system was not solveable. Will panic when the choice of added polynomial DEGREE and number of corresponding MONOMIAL terms are incompatible. Should satisfy: MONOMIAL = (DIM+DEGREE) choose DEGREE.
Auto Trait Implementations§
impl<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> Freeze for RBFInterpolatorBuilder<T, DEGREE, MONOMIALS, POINTS, DIM>where
T: Freeze,
impl<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> RefUnwindSafe for RBFInterpolatorBuilder<T, DEGREE, MONOMIALS, POINTS, DIM>where
T: RefUnwindSafe,
impl<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> Send for RBFInterpolatorBuilder<T, DEGREE, MONOMIALS, POINTS, DIM>where
T: Send,
impl<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> Sync for RBFInterpolatorBuilder<T, DEGREE, MONOMIALS, POINTS, DIM>where
T: Sync,
impl<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> Unpin for RBFInterpolatorBuilder<T, DEGREE, MONOMIALS, POINTS, DIM>where
T: Unpin,
impl<T, const DEGREE: usize, const MONOMIALS: usize, const POINTS: usize, const DIM: usize> UnwindSafe for RBFInterpolatorBuilder<T, DEGREE, MONOMIALS, POINTS, DIM>where
T: UnwindSafe,
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
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.