SG++-Doxygen-Documentation
sgpp::base::SubspaceRefinement Class Reference

#include <SubspaceRefinement.hpp>

Inheritance diagram for sgpp::base::SubspaceRefinement:
sgpp::base::RefinementDecorator sgpp::base::AbstractRefinement

Public Member Functions

void free_refine (GridStorage &storage, RefinementFunctor &functor, std::vector< size_t > *addedPoints=0) override
 Refines a grid according to a RefinementFunctor provided. More...
 
 SubspaceRefinement (AbstractRefinement *refinement)
 Constructor. More...
 
 ~SubspaceRefinement () override
 Destructor. More...
 
- Public Member Functions inherited from sgpp::base::RefinementDecorator
bool checkAdmissibility (GridStorage &storage, GridPoint &subspace)
 
virtual size_t getNumberOfRefinablePoints (GridStorage &storage)
 Computes and returns the number of grid points, which can be refined. More...
 
virtual void refineGridpoint1D (GridStorage &storage, GridPoint &point, size_t d)
 Refine one grid point along a single direction. More...
 
 RefinementDecorator (AbstractRefinement *refinement)
 Constructor. More...
 
virtual ~RefinementDecorator ()
 
- Public Member Functions inherited from sgpp::base::AbstractRefinement
virtual size_t getIndexOfMin (RefinementFunctor::value_type *array, size_t length)
 Returns the index of the first occurrence of minimal element in array. More...
 
bool isRefinable (GridStorage &storage, GridPoint &point)
 Check if the grid point is refinable. More...
 
virtual void refineGridpoint1D (GridStorage &storage, size_t seq, size_t d)
 Refine one grid point along a single direction. More...
 
virtual ~AbstractRefinement ()
 Destructor. More...
 

Protected Member Functions

virtual void addElementToCollection (const GridStorage::grid_map_iterator &iter, AbstractRefinement::refinement_list_type current_value_list, size_t refinement_num, AbstractRefinement::refinement_container_type &collection)
 Adds elements to the collection. More...
 
void collectRefinablePoints (GridStorage &storage, RefinementFunctor &functor, AbstractRefinement::refinement_container_type &collection) override
 Examines the grid points and stores the indices those that can be refined and have maximal indicator values. More...
 
void refineGridpointsCollection (GridStorage &storage, RefinementFunctor &functor, AbstractRefinement::refinement_container_type &collection) override
 Extends the grid adding elements defined in collection. More...
 
- Protected Member Functions inherited from sgpp::base::RefinementDecorator
virtual void createGridpoint (GridStorage &storage, GridPoint &point)
 This method creates a new point on the grid. More...
 
AbstractRefinementget_decorated_refinement ()
 Returns the pointer to decorated Refinement object. More...
 
virtual AbstractRefinement::refinement_list_type getIndicator (GridStorage &storage, const GridStorage::grid_map_iterator &iter, const RefinementFunctor &functor) const
 Generates a list with indicator elements. More...
 
virtual void refineGridpoint (GridStorage &storage, size_t refine_index)
 This method refines a grid point by generating the children in every dimension of the grid and all their missing ancestors by calling create_gridpoint(). More...
 
void set_decorated_refiment (AbstractRefinement *refinement)
 Sets the pointer of the decorated Refinement object to the given object. More...
 
- Protected Member Functions inherited from sgpp::base::AbstractRefinement
virtual void createGridpoint1D (GridPoint &point, size_t d, GridStorage &storage, index_t &source_index, level_t &source_level)
 Creates children grid points along single direction. More...
 
virtual void createGridpointSubroutine (GridStorage &storage, GridPoint &point)
 Subroutine for grid point creation. More...
 

Additional Inherited Members

- Public Types inherited from sgpp::base::AbstractRefinement
typedef std::vector< refinement_pair_typerefinement_container_type
 Container for the collection of the refinement atoms and the corresponding value. More...
 
typedef AbstractRefinement_refinement_key refinement_key_type
 Type of the identifier of the refinement atom (e.g. More...
 
typedef std::forward_list< AbstractRefinement::refinement_pair_typerefinement_list_type
 
typedef std::pair< std::shared_ptr< refinement_key_type >, refinement_value_typerefinement_pair_type
 Pair for the refinement key and value. More...
 
typedef double refinement_value_type
 Type of functor value assigned to each refinement atom. More...
 
- Static Public Member Functions inherited from sgpp::base::AbstractRefinement
static bool compare_pairs (const refinement_pair_type &lhs, const refinement_pair_type &rhs)
 Comparison of the refinement_pair_type. More...
 

Constructor & Destructor Documentation

sgpp::base::SubspaceRefinement::SubspaceRefinement ( AbstractRefinement refinement)
inlineexplicit

Constructor.

Parameters
refinementdecorated refinement object

References free_refine().

sgpp::base::SubspaceRefinement::~SubspaceRefinement ( )
inlineoverride

Member Function Documentation

void sgpp::base::SubspaceRefinement::addElementToCollection ( const GridStorage::grid_map_iterator iter,
AbstractRefinement::refinement_list_type  current_value_list,
size_t  refinement_num,
AbstractRefinement::refinement_container_type collection 
)
protectedvirtual

Adds elements to the collection.

This method is responsible for selection the elements with most important indicators and to limit the size of collection to refinements_num elements.

Parameters
iterstorage iterator
current_value_listlist with elements that contain keys and values that specify refinement
refinement_numnumber of elements to refine
collectioncontainer where element pairs for refinement need to be stored

Referenced by collectRefinablePoints(), and ~SubspaceRefinement().

void sgpp::base::SubspaceRefinement::collectRefinablePoints ( GridStorage storage,
RefinementFunctor functor,
AbstractRefinement::refinement_container_type collection 
)
overrideprotectedvirtual

Examines the grid points and stores the indices those that can be refined and have maximal indicator values.

Parameters
storagehashmap that stores the grid points
functora PredictiveRefinementIndicator specifying the refinement criteria
collectioncontainer that contains elements to refine (empty initially)

Reimplemented from sgpp::base::RefinementDecorator.

References addElementToCollection(), sgpp::base::HashGridStorage::begin(), sgpp::base::AbstractRefinement::compare_pairs(), sgpp::base::HashGridStorage::end(), sgpp::base::HashGridStorage::find(), sgpp::base::HashGridPoint::get(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::RefinementDecorator::getIndicator(), sgpp::base::RefinementFunctor::getRefinementsNum(), chess::point, and sgpp::base::HashGridPoint::set().

Referenced by free_refine(), and ~SubspaceRefinement().

void sgpp::base::SubspaceRefinement::free_refine ( GridStorage storage,
RefinementFunctor functor,
std::vector< size_t > *  addedPoints = 0 
)
overridevirtual

Refines a grid according to a RefinementFunctor provided.

Refines up to RefinementFunctor::getRefinementsNum() grid points if possible, and if their refinement value is larger than RefinementFunctor::start() and their absolute value is larger or equal than RefinementFunctor::getRefinementThreshold()

Parameters
storagehashmap that stores the grid points
functora RefinementFunctor specifying the refinement criteria
addedPointspointer to vector to append newly created grid points to

Assumption: during the refinement process the only change made to the storage is the following: New (if any) gridpoints are appended (to the end) of the storage

Reimplemented from sgpp::base::RefinementDecorator.

References collectRefinablePoints(), sgpp::base::HashGridStorage::getSize(), python.statsfileInfo::i, and refineGridpointsCollection().

Referenced by SubspaceRefinement().

void sgpp::base::SubspaceRefinement::refineGridpointsCollection ( GridStorage storage,
RefinementFunctor functor,
AbstractRefinement::refinement_container_type collection 
)
overrideprotectedvirtual

Extends the grid adding elements defined in collection.

Parameters
storagehashmap that stores the grid points
functora PredictiveRefinementIndicator specifying the refinement criteria
collectioncontainer that contains elements to refine (empty initially)

Reimplemented from sgpp::base::RefinementDecorator.

References sgpp::base::IndexInSubspaceGenerator::begin(), sgpp::base::IndexInSubspaceGenerator::end(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridStorage::getSequenceNumber(), sgpp::base::HashGridStorage::getSize(), and sgpp::base::RefinementDecorator::refineGridpoint().

Referenced by free_refine(), and ~SubspaceRefinement().


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