#include <RBFBasis_fwd.hpp>
Represents a basis of Radial Basis Functions over a local neighbourhood.
| RBFType | Type of the RBF used. Must satisfy the Radial Basis Function concept. |
| vec_t | Vector type used in calculations. |
This class satisfies the Basis function concept.
Usage example:
Definition at line 30 of file RBFBasis_fwd.hpp.
Public Member Functions | |
| RBFBasis (int basis_size) | |
Construct a basis of basis_size with default construction of RBF. More... | |
| RBFBasis (int basis_size, const rbf_t &rbf) | |
Construct a basis of basis_size with given RBF. More... | |
| int | size () const |
| Returns basis size. More... | |
| const rbf_t & | rbf () const |
| Returns underlying RBF object. More... | |
| rbf_t & | rbf () |
| Returns modifiable underlying RBF object. More... | |
| scalar_t | eval (int index, const vector_t &point, const std::vector< vector_t > &support) const |
Evaluates index-th RBF's at point. More... | |
| template<typename operator_t > | |
| scalar_t | evalOp (int index, const vector_t &point, operator_t op, const std::vector< vector_t > &support, scalar_t scale=1) const |
| Apply an operator at a given point. More... | |
| scalar_t | evalOp (int index, const vector_t &point, Lap< dim > op, const std::vector< vector_t > &support, scalar_t scale=1) const |
| Evaluate Laplacian. More... | |
| scalar_t | evalOp (int index, const vector_t &point, Der1< dim > op, const std::vector< vector_t > &support, scalar_t scale=1) const |
| Evaluate 1st derivative. More... | |
| scalar_t | evalOp (int index, const vector_t &point, Der2< dim > op, const std::vector< vector_t > &support, scalar_t scale=1) const |
| Evaluate 2nd derivative. More... | |
| scalar_t | evalAt0 (int index, const std::vector< vector_t > &support) const |
Evaluate index-th function at zero. More... | |
| template<typename operator_t > | |
| scalar_t | evalOpAt0 (int index, const operator_t&op, const std::vector< vector_t > &support, scalar_t scale=1) const |
Evaluate general operator op at zero. More... | |
| scalar_t | evalOpAt0 (int index, const Lap< dim > &lap, const std::vector< vector_t > &support, scalar_t scale=1) const |
Evaluate Laplacian lap at zero. More... | |
| scalar_t | evalOpAt0 (int index, const Der1< dim > &der1, const std::vector< vector_t > &support, scalar_t scale=1) const |
Evaluate first derivative operator der1 at zero. More... | |
| scalar_t | evalOpAt0 (int index, const Der2< dim > &der2, const std::vector< vector_t > &support, scalar_t scale=1) const |
Evaluate second derivative operator der2 at zero. More... | |
Public Types | |
| enum | { dim = vec_t::dim } |
| Store dimension of the domain. More... | |
| typedef RBFType | rbf_t |
| Radial basis function type. More... | |
| typedef vec_t | vector_t |
| Vector type. More... | |
| typedef vector_t::scalar_t | scalar_t |
| Scalar type. More... | |
Friends | |
| template<typename V , typename R > | |
| std::ostream & | operator<< (std::ostream &os, const RBFBasis< V, R > &m) |
| Output basic info about given basis. More... | |
Private Attributes | |
| int | size_ |
| Basis size. More... | |
| rbf_t | rbf_ |
| RBF function. More... | |
| anonymous enum |
Store dimension of the domain.
| Enumerator | |
|---|---|
| dim | Dimensionality of the function domain. |
Definition at line 38 of file RBFBasis_fwd.hpp.
|
inlineexplicit |
Construct a basis of basis_size with default construction of RBF.
Definition at line 46 of file RBFBasis_fwd.hpp.
|
inline |
Construct a basis of basis_size with given RBF.
Definition at line 48 of file RBFBasis_fwd.hpp.
| scalar_t mm::RBFBasis< RBFType, vec_t >::eval | ( | int | index, |
| const vector_t & | point, | ||
| const std::vector< vector_t > & | support | ||
| ) | const |
Evaluates index-th RBF's at point.
| index | A number in [0, size()) specifying the index of RBF to evaluate. |
| point | Point in which to evaluate the RBF. |
| support | Points in local neighbourhood used as centers for RBFs. |
| Assertion | fails if index is out of range or if an invalid derivative is requested. |
| RBFBasis< vec_t, RBFType >::scalar_t mm::RBFBasis< vec_t, RBFType >::evalAt0 | ( | int | index, |
| const std::vector< vector_t > & | support | ||
| ) | const |
Evaluate index-th function at zero.
Definition at line 74 of file RBFBasis.hpp.
| vec_t::scalar_t mm::RBFBasis< RBFType, vec_t >::evalOp | ( | int | index, |
| const vector_t & | point, | ||
| Der1< dim > | op, | ||
| const std::vector< vector_t > & | support, | ||
| scalar_t | scale = 1 |
||
| ) | const |
| vec_t::scalar_t mm::RBFBasis< RBFType, vec_t >::evalOp | ( | int | index, |
| const vector_t & | point, | ||
| Der2< dim > | op, | ||
| const std::vector< vector_t > & | support, | ||
| scalar_t | scale = 1 |
||
| ) | const |
| vec_t::scalar_t mm::RBFBasis< RBFType, vec_t >::evalOp | ( | int | index, |
| const vector_t & | point, | ||
| Lap< dim > | op, | ||
| const std::vector< vector_t > & | support, | ||
| scalar_t | scale = 1 |
||
| ) | const |
| scalar_t mm::RBFBasis< RBFType, vec_t >::evalOp | ( | int | index, |
| const vector_t & | point, | ||
| operator_t | op, | ||
| const std::vector< vector_t > & | support, | ||
| scalar_t | scale = 1 |
||
| ) | const |
Apply an operator at a given point.
For \(\frac{d}{dx}\), the function computes \( \frac{d}{dx} p_i(x_s), x_s = \frac{x - c}{s} \).
| index | A number in [0, size()) specifying the index of a monomial to evaluate. |
| point | Translated and scaled point \(x_s\) at which the basis function is evaluated. |
| op | The differential operator. |
| support | Translated and scaled values of nodes in the support domain. |
| scale | The scaling factor \(s\). |
index-th basis function at point point. | Assertion | fails if index is out of range. |
| vec_t::scalar_t mm::RBFBasis< RBFType, vec_t >::evalOpAt0 | ( | int | index, |
| const Der1< dim > & | der1, | ||
| const std::vector< vector_t > & | support, | ||
| scalar_t | scale = 1 |
||
| ) | const |
Evaluate first derivative operator der1 at zero.
Definition at line 95 of file RBFBasis.hpp.
| vec_t::scalar_t mm::RBFBasis< RBFType, vec_t >::evalOpAt0 | ( | int | index, |
| const Der2< dim > & | der2, | ||
| const std::vector< vector_t > & | support, | ||
| scalar_t | scale = 1 |
||
| ) | const |
Evaluate second derivative operator der2 at zero.
Definition at line 114 of file RBFBasis.hpp.
| vec_t::scalar_t mm::RBFBasis< RBFType, vec_t >::evalOpAt0 | ( | int | index, |
| const Lap< dim > & | lap, | ||
| const std::vector< vector_t > & | support, | ||
| scalar_t | scale = 1 |
||
| ) | const |
Evaluate Laplacian lap at zero.
Definition at line 85 of file RBFBasis.hpp.
|
inline |
Evaluate general operator op at zero.
| index | A number in [0, size()) specifying the index of RBF to evaluate. |
| op | Evaluated operator. |
| support | Points in local neighbourhood used as centers for RBFs. |
| scale | Scaling factor. |
| Assertion | fails if index is out of range or if an invalid derivative is requested. |
Definition at line 115 of file RBFBasis_fwd.hpp.
|
inline |
Returns modifiable underlying RBF object.
Definition at line 57 of file RBFBasis_fwd.hpp.
|
inline |
Returns underlying RBF object.
Definition at line 54 of file RBFBasis_fwd.hpp.
|
inline |
Returns basis size.
Definition at line 51 of file RBFBasis_fwd.hpp.
|
friend |
Output basic info about given basis.
Definition at line 139 of file RBFBasis.hpp.
|
private |
RBF function.
Definition at line 42 of file RBFBasis_fwd.hpp.
|
private |
Basis size.
Definition at line 41 of file RBFBasis_fwd.hpp.