SG++

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 nonzero 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 tensorproduct approach and local support. No grid points on the border are supported.

inlineexplicit 

inline 

inline 
Returns evaluations of all basis functions that are nonzero 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 nonzero. 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 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 nonzero.
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 onedimensional 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 