![]() |
SG++-Doxygen-Documentation
|
Basic algorithm for getting all affected basis functions. More...
#include <AlgorithmEvaluationTransposed.hpp>
Public Member Functions | |
| AlgorithmEvaluationTransposed (GridStorage &storage) | |
| void | operator() (BASIS &basis, const DataVector &point, double alpha, DataVector &result) |
| Returns evaluations of all basis functions that are non-zero at a given evaluation point. More... | |
| ~AlgorithmEvaluationTransposed () | |
Protected Member Functions | |
| void | rec (BASIS &basis, DataVector &point, size_t current_dim, double value, GridStorage::grid_iterator &working, index_t *source, double alpha, DataVector &result) |
| Recursive traversal of the "tree" of basis functions for evaluation, used in operator(). More... | |
Protected Attributes | |
| GridStorage & | storage |
Basic algorithm for getting all affected basis functions.
This implicitly assumes a tensor-product approach and local support. No grid points on the border are supported.
|
inlineexplicit |
|
inline |
|
inline |
Returns evaluations of all basis functions that are non-zero at a given evaluation point.
For a given evaluation point \(x\), it stores tuples (std::pair) of \((i,\phi_i(x))\) in the result vector for all basis functions that are non-zero. If one wants to evaluate \(f_N(x)\), one only has to compute
\[ \sum_{r\in\mathbf{result}} \alpha[r\rightarrow\mathbf{first}] \cdot r\rightarrow\mathbf{second}. \]
| basis | a sparse grid basis |
| point | evaluation point within the domain |
| alpha | the coefficient of the regarded ansatzfunction |
| result | vector that will contain the local support of the given ansatzfuction for all evaluations points |
References chess::dim, sgpp::base::HashGridStorage::getBoundingBox(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::BoundingBox::isContainingPoint(), sgpp::base::AlgorithmEvaluationTransposed< BASIS >::rec(), sgpp::base::AlgorithmEvaluationTransposed< BASIS >::storage, and sgpp::base::BoundingBox::transformPointToUnitCube().
|
inlineprotected |
Recursive traversal of the "tree" of basis functions for evaluation, used in operator().
For a given evaluation point \(x\), it stores tuples (std::pair) of \((i,\phi_i(x))\) in the result vector for all basis functions that are non-zero.
| basis | a sparse grid basis |
| point | evaluation point within the domain |
| current_dim | the dimension currently looked at (recursion parameter) |
| value | the value of the evaluation of the current basis function up to (excluding) dimension current_dim (product of the evaluations of the one-dimensional ones) |
| working | iterator working on the GridStorage of the basis |
| source | array of indices for each dimension (identifying the indices of the current grid point) |
| alpha | the coefficient of current ansatzfunction |
| result | vector that will contain the local support of the given ansatzfuction for all evaluations points |
References sgpp::base::HashGridIterator::get(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridIterator::hint(), sgpp::base::HashGridStorage::isInvalidSequenceNumber(), sgpp::base::HashGridIterator::leftChild(), sgpp::base::HashGridIterator::resetToLevelOne(), sgpp::base::HashGridIterator::rightChild(), and sgpp::base::HashGridIterator::seq().
Referenced by sgpp::base::AlgorithmEvaluationTransposed< BASIS >::operator()().
|
protected |