sgpp::base::ConvertPrewaveletToLinear Class Reference

Class that implements the transformation of a hierarchical prewavelet sparse grid to a hierarchical linear sparse grid. More...

#include <ConvertPrewaveletToLinear.hpp>

Public Member Functions

 ConvertPrewaveletToLinear (GridStorage &storage)
 Constructor, must be bind to a grid. More...
void operator() (DataVector &source, DataVector &result, grid_iterator &index, size_t dim)
 Converts a given prewavelet base to a normal linear base. More...
 ~ConvertPrewaveletToLinear ()
 Destructor. More...

Protected Types

typedef GridStorage::grid_iterator grid_iterator
typedef index_t index_type
typedef level_t level_type

Protected Attributes

 the grid object More...

Detailed Description

Class that implements the transformation of a hierarchical prewavelet sparse grid to a hierarchical linear sparse grid.

Therefore the ()operator is implemented in order to use the sweep algorithm for the grid traversal. Let the coefficients from the hat basis be \( h_{l,i}\) and from the prewavelet basis \( u_{l,i} \). To calculate the surplusses, temp values are needed:

\[ (l,i)\neq G_{n}^{1}:t_{l,i}=-\frac{6}{10}u_{l,i\pm1}+t_{l+1,2i} \]

All temp values for levels greater than the maximal level of the grid are set to 0. The actual transformation is calculated as follows:

\begin{eqnarray*} h_{l,i}&=&u_{l,i}+\frac{1}{10}u_{l,i\pm2}+t_{l+1,2i}-\frac{1}{2}t_{l,i\pm1}\qquad\mbox{if \ensuremath{(l,i)} is an inner point}\\h_{l,i}&=&\frac{9}{10}u_{l,i}+\frac{1}{10}u_{l,i\pm2}+t_{l+1,2i}-\frac{1}{2}t_{l,i\pm1}\qquad\mbox{if \ensuremath{(l,i)} is at border} \end{eqnarray*}

The picture depicts all needed variables in oder to perform the transformation:

This picture shows all involved gridpoints (red crosses) and temp values (green circles) to calculate the new hierarchical coefficients (red arrows) and new temp values (green arrows).

Member Typedef Documentation

Constructor & Destructor Documentation

sgpp::base::ConvertPrewaveletToLinear::ConvertPrewaveletToLinear ( GridStorage storage)

Constructor, must be bind to a grid.

storagethe grid storage object of the the grid, on which the hierarchisation should be executed
sgpp::base::ConvertPrewaveletToLinear::~ConvertPrewaveletToLinear ( )


Member Function Documentation

void sgpp::base::ConvertPrewaveletToLinear::operator() ( DataVector source,
DataVector result,
grid_iterator index,
size_t  dim 

Member Data Documentation

GridStorage& sgpp::base::ConvertPrewaveletToLinear::storage

the grid object

Referenced by operator()().

The documentation for this class was generated from the following files: