SG++-Doxygen-Documentation
|
Standard free coarsening class for sparse grids, only inner grid points can be removed. More...
#include <HashCoarsening.hpp>
Public Member Functions | |
void | free_coarsen (GridStorage &storage, CoarseningFunctor &functor, DataVector &alpha, std::vector< HashGridPoint > *removedPoints=0, std::vector< size_t > *removedSeq=0) |
Performs coarsening on grid. More... | |
void | free_coarsen_NFirstOnly (GridStorage &storage, CoarseningFunctor &functor, DataVector &alpha, size_t numFirstPoints, size_t minIndexConsidered=0, std::vector< HashGridPoint > *removedPoints=0, std::vector< size_t > *removedSeq=0) |
Performs coarsening on grid. More... | |
size_t | getNumberOfRemovablePoints (GridStorage &storage) |
Calculates the number of points, which can be refined. More... | |
Standard free coarsening class for sparse grids, only inner grid points can be removed.
void sgpp::base::HashCoarsening::free_coarsen | ( | GridStorage & | storage, |
CoarseningFunctor & | functor, | ||
DataVector & | alpha, | ||
std::vector< HashGridPoint > * | removedPoints = 0 , |
||
std::vector< size_t > * | removedSeq = 0 |
||
) |
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.
Note that seq numbers in
removedSeq | are invalid to use with the resulting grid after coarsening since the seq numbers get recomputed after removal. Use |
removedPoints | unless outdated seq numbers are explicitly required. |
storage | hashmap that stores the grid points |
functor | a function used to determine if refinement is needed |
alpha | pointer to the gridpoints' coefficients removed points must also be considered in this vector |
removedPoints | pointer to vector to append coarsened (removed) grid points to |
removedSeq | pointer to vector to append the seq numbers of coarsened grid points to. |
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 , |
||
std::vector< HashGridPoint > * | removedPoints = 0 , |
||
std::vector< size_t > * | removedSeq = 0 |
||
) |
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.
Note that seq numbers in
removedSeq | are invalid to use with the resulting grid after coarsening since the seq numbers get recomputed after removal. Use |
removedPoints | unless outdated seq numbers are explicitly required. |
storage | hashmap that stores the grid points |
functor | a function used to determine if refinement is needed |
alpha | pointer to the gridpoints' coefficients removed points must also be considered in this vector |
numFirstPoints | number of grid points that are regarded to be coarsened |
minIndexConsidered | indices of coarsen point candidates must be higher than this parameter to be allowed to get coarsened |
removedPoints | pointer to vector to append coarsened (removed) grid points to |
removedSeq | pointer to vector to append the seq numbers of coarsened grid points to |
References sgpp::base::HashGridStorage::deletePoints(), sgpp::base::CoarseningFunctor::getCoarseningThreshold(), sgpp::base::HashGridStorage::getPoint(), sgpp::base::CoarseningFunctor::getRemovementsNum(), sgpp::base::HashGridStorage::getSize(), python.statsfileInfo::i, sgpp::base::HashGridPoint::isLeaf(), chess::point, 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(), and free_coarsen().
size_t sgpp::base::HashCoarsening::getNumberOfRemovablePoints | ( | GridStorage & | storage | ) |
Calculates the number of points, which can be refined.
storage | hashmap that stores the grid points |
References sgpp::base::HashGridStorage::begin(), analyse_erg::counter, sgpp::base::HashGridStorage::end(), sgpp::base::HashGridStorage::getSize(), sgpp::base::HashGridPoint::isLeaf(), and chess::point.
Referenced by sgpp::base::StretchedBoundaryGridGenerator::getNumberOfRemovablePoints(), sgpp::base::L0BoundaryGridGenerator::getNumberOfRemovablePoints(), sgpp::base::StandardGridGenerator::getNumberOfRemovablePoints(), sgpp::base::BoundaryGridGenerator::getNumberOfRemovablePoints(), and sgpp::base::PrewaveletGridGenerator::getNumberOfRemovablePoints().