SG++
sgpp::base::HashCoarsening Class Reference

Standard free coarsening class for sparse grids, only inner grid points can be removed. More...

#include <HashCoarsening.hpp>

Public Types

typedef std::pair< size_t, CoarseningFunctor::value_typeGridPointPair
 

Public Member Functions

void free_coarsen (GridStorage &storage, CoarseningFunctor &functor, DataVector &alpha)
 Performs coarsening on grid. More...
 
void free_coarsen_NFirstOnly (GridStorage &storage, CoarseningFunctor &functor, DataVector &alpha, size_t numFirstPoints, size_t minIndexConsidered=0)
 Performs coarsening on grid. More...
 
std::list< size_t > getDeletedPoints ()
 
size_t getNumberOfRemovablePoints (GridStorage &storage)
 Calculates the number of points, which can be refined. More...
 

Detailed Description

Standard free coarsening class for sparse grids, only inner grid points can be removed.

Member Typedef Documentation

Member Function Documentation

void sgpp::base::HashCoarsening::free_coarsen ( GridStorage storage,
CoarseningFunctor functor,
DataVector alpha 
)
inline

Performs coarsening on grid.

It's possible to remove a certain number of gridpoints in one coarsening step. This number is specified within the declaration of the coarsening functor. Also the coarsening threshold is specified in the coarsening functor. ONLY INNER GRID POINTS WILL BE REMOVED!

This function calls free_coarsen_NFirstOnly with numFirstPoints equal to the grid's size.

Parameters
storagehashmap that stores the grid points
functora function used to determine if refinement is needed
alphapointer to the gridpoints' coefficients removed points must also be considered in this vector

References free_coarsen_NFirstOnly(), and sgpp::base::HashGridStorage::getSize().

Referenced by sgpp::base::StretchedBoundaryGridGenerator::coarsen(), sgpp::base::L0BoundaryGridGenerator::coarsen(), sgpp::base::StandardGridGenerator::coarsen(), sgpp::base::BoundaryGridGenerator::coarsen(), and sgpp::base::PrewaveletGridGenerator::coarsen().

void sgpp::base::HashCoarsening::free_coarsen_NFirstOnly ( GridStorage storage,
CoarseningFunctor functor,
DataVector alpha,
size_t  numFirstPoints,
size_t  minIndexConsidered = 0 
)
inline

Performs coarsening on grid.

It's possible to remove a certain number of gridpoints in one coarsening step. This number is specified within the declaration of the coarsening functor. Also the coarsening threshold is specified in the coarsening functor. ONLY INNER GRID POINTS WILL BE REMOVED!

Here only the numFirstPoints are regarded for coarsening, later points are skipped.

Parameters
storagehashmap that stores the grid points
functora function used to determine if refinement is needed
alphapointer to the gridpoints' coefficients removed points must also be considered in this vector
numFirstPointsnumber of grid points that are regarded to be coarsened
minIndexConsideredindices of coarsen point candidates must be higher than this parameter to be allowed to get coarsened

References sgpp::base::HashGridStorage::deletePoints(), sgpp::base::CoarseningFunctor::getCoarseningThreshold(), sgpp::base::HashGridStorage::getPoint(), sgpp::base::CoarseningFunctor::getRemovementsNum(), sgpp::base::HashGridStorage::getSize(), sgpp::base::HashGridPoint::isInnerPoint(), sgpp::base::HashGridPoint::isLeaf(), sgpp::base::DataVector::restructure(), and sgpp::base::CoarseningFunctor::start().

Referenced by sgpp::base::StretchedBoundaryGridGenerator::coarsenNFirstOnly(), sgpp::base::L0BoundaryGridGenerator::coarsenNFirstOnly(), sgpp::base::StandardGridGenerator::coarsenNFirstOnly(), sgpp::base::BoundaryGridGenerator::coarsenNFirstOnly(), sgpp::base::PrewaveletGridGenerator::coarsenNFirstOnly(), free_coarsen(), and sgpp::datadriven::LearnerSGDEOnOff::refine().

std::list<size_t> sgpp::base::HashCoarsening::getDeletedPoints ( )
inline

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