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