#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.