#include <RBFInterpolant_fwd.hpp>
Class representing a RBF Interpolant over a set of nodes of the form.
\[ u(p) = \sum_{i=1}^n \alpha_i \phi\left(\left\|\frac{p - p_i}{s}\right\|\right) + \sum_{i=1}^s \beta_i q_i\left(\frac{p - p_c}{s} \right), \]
where \(\phi\) is the RBF and \(q_i\) are monomials.
basis_t | Radial basis function used. Must satisfy the Radial Basis Function concept. |
vec_t | Vector type used. |
Usage example:
Definition at line 34 of file RBFInterpolant_fwd.hpp.
Public Member Functions | |
RBFInterpolant (const rbf_t &rbf, const Monomials< vec_t > &mon, const vector_t &point, const std::vector< vector_t > &support, scalar_t scale, const Eigen::Matrix< scalar_t, Eigen::Dynamic, 1 > &coefficients) | |
Construct a RBF interpolant with known coefficients. More... | |
scalar_t | operator() (const vector_t &point) const |
Evaluate the interpolant at given point . More... | |
template<typename operator_t > | |
scalar_t | operator() (const vector_t &point, const operator_t&op) const |
Evaluate an operator applied to the interpolant at given point . More... | |
const vector_t & | point () const |
Get the center point. More... | |
scalar_t | scale () const |
Get the scale. More... | |
const Eigen::Matrix< scalar_t, Eigen::Dynamic, 1 > & | coefficients () const |
Get the coefficient vector. More... | |
Public Types | |
typedef vec_t::scalar_t | scalar_t |
Scalar type. More... | |
typedef vec_t | vector_t |
Vector type. More... | |
typedef RBFType | rbf_t |
Radial basis function type. More... | |
Private Attributes | |
rbf_t | rbf_ |
RBF used for interpolation. More... | |
Monomials< vec_t > | mon_ |
Augmenting monomials. More... | |
vector_t | point_ |
Center point. More... | |
std::vector< vector_t > | support_ |
Local scaled stencil points. More... | |
scalar_t | scale_ |
Scale. More... | |
Eigen::Matrix< scalar_t, Eigen::Dynamic, 1 > | coefficients_ |
Coefficients (for scaled fn.) More... | |
mm::RBFInterpolant< RBFType, vec_t >::RBFInterpolant | ( | const rbf_t & | rbf, |
const Monomials< vec_t > & | mon, | ||
const vector_t & | point, | ||
const std::vector< vector_t > & | support, | ||
scalar_t | scale, | ||
const Eigen::Matrix< scalar_t, Eigen::Dynamic, 1 > & | coefficients | ||
) |
Construct a RBF interpolant with known coefficients.
The interpolant is of the form
\[ u(p) = \sum_{i=1}^n \alpha_i \phi\left(\left\|\frac{p - p_i}{s}\right\|\right) + \sum_{i=1}^s \beta_i q_i\left(\frac{p - p_c}{s} \right), \]
where \(\phi\) is the RBF and \(q_i\) are monomials.
rbf | Radial basis function \(\phi\), must satisfy the Radial Basis Function concept. |
mon | Monomial basis \(q_i\). |
point | Center point \(p_c\) of the RBF interpolation (used for monomial shift). |
support | Nonscaled stencil of the RBFFD approximation. |
scale | Scale \(s\) used in RBFFD computation, see Scale function concept. |
coefficients | The \(n+s\) coefficients \(\alpha_i, \beta_i\) of the approximation. |
Definition at line 16 of file RBFInterpolant.hpp.
|
inline |
Get the coefficient vector.
Definition at line 80 of file RBFInterpolant_fwd.hpp.
vec_t::scalar_t mm::RBFInterpolant< RBFType, vec_t >::operator() | ( | const vector_t & | point | ) | const |
Evaluate the interpolant at given point
.
Definition at line 30 of file RBFInterpolant.hpp.
scalar_t mm::RBFInterpolant< RBFType, vec_t >::operator() | ( | const vector_t & | point, |
const operator_t& | op | ||
) | const |
Evaluate an operator applied to the interpolant at given point
.
|
inline |
Get the center point.
Definition at line 76 of file RBFInterpolant_fwd.hpp.
|
inline |
Get the scale.
Definition at line 78 of file RBFInterpolant_fwd.hpp.
|
private |
Coefficients (for scaled fn.)
Definition at line 46 of file RBFInterpolant_fwd.hpp.
|
private |
Augmenting monomials.
Definition at line 42 of file RBFInterpolant_fwd.hpp.
|
private |
Center point.
Definition at line 43 of file RBFInterpolant_fwd.hpp.
|
private |
RBF used for interpolation.
Definition at line 41 of file RBFInterpolant_fwd.hpp.
|
private |
Scale.
Definition at line 45 of file RBFInterpolant_fwd.hpp.
|
private |
Local scaled stencil points.
Definition at line 44 of file RBFInterpolant_fwd.hpp.