SG++
sgpp::base::HashRefinementInteraction Class Reference

The HashRefinementInteraction class. More...

#include <HashRefinementInteraction.hpp>

Inheritance diagram for sgpp::base::HashRefinementInteraction:
sgpp::base::HashRefinement sgpp::base::AbstractRefinement

Public Member Functions

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 createGridpoint (GridStorage &storage, GridPoint &index) override
 This method creates a new point on the grid. More...
 
 HashRefinementInteraction (std::unordered_set< std::vector< bool >> interactions)
 HashRefinementInteraction. More...
 
- Public Member Functions inherited from sgpp::base::HashRefinement
void free_refine (GridStorage &storage, RefinementFunctor &functor) override
 Refines a grid according to a RefinementFunctor provided. More...
 
size_t getNumberOfRefinablePoints (GridStorage &storage) override
 Computes and returns the number of grid points, which can be refined. More...
 
void refineGridpoint1D (GridStorage &storage, GridPoint &point, size_t d) override
 Refine one grid point along a single direction. More...
 
void refineGridpoint1D (GridStorage &storage, size_t seq, size_t d) override
 Refine one grid point along a single direction. More...
 
virtual ~HashRefinement ()
 
- 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 ~AbstractRefinement ()
 Destructor. 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...
 
- Protected Member Functions inherited from sgpp::base::HashRefinement
virtual void addElementToCollection (const GridStorage::grid_map_iterator &iter, AbstractRefinement::refinement_list_type current_value_list, size_t refinements_num, AbstractRefinement::refinement_container_type &collection)
 Adds elements to the collection. More...
 
AbstractRefinement::refinement_list_type getIndicator (GridStorage &storage, const GridStorage::grid_map_iterator &iter, const RefinementFunctor &functor) const override
 Generates a list with indicator elements. More...
 
void refineGridpoint (GridStorage &storage, size_t refine_index) override
 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 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::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...
 

Detailed Description

The HashRefinementInteraction class.

Refines the grid, but only adds interactions that are contained in the set interactions, i.e. only desired interactions. Each desired interaction is encoded as a vector, of which each entry is true if the dimension should be used and false otherwise. For example, a \( (x_1 \times x_2)\) interaction for a 3-dimensional dataset is modelled as the boolean vector (true, true, false).

Constructor & Destructor Documentation

sgpp::base::HashRefinementInteraction::HashRefinementInteraction ( std::unordered_set< std::vector< bool >>  interactions)
explicit

HashRefinementInteraction.

Parameters
interactionscontains all desired interactions.

Member Function Documentation

void sgpp::base::HashRefinementInteraction::collectRefinablePoints ( GridStorage storage,
RefinementFunctor functor,
AbstractRefinement::refinement_container_type collection 
)
overridevirtual

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::HashRefinement.

References sgpp::base::HashRefinement::addElementToCollection(), sgpp::base::HashGridStorage::begin(), sgpp::base::HashGridStorage::end(), sgpp::base::HashGridStorage::find(), sgpp::base::HashGridPoint::get(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashRefinement::getIndicator(), sgpp::base::RefinementFunctor::getRefinementsNum(), sgpp::base::HashGridPoint::getStandardCoordinate(), and sgpp::base::HashGridPoint::set().

void sgpp::base::HashRefinementInteraction::createGridpoint ( GridStorage storage,
GridPoint point 
)
overridevirtual

This method creates a new point on the grid.

It checks if some parents or children are needed in other dimensions.

Parameters
storagehashmap that stores the gridpoints
pointThe point that should be inserted

Reimplemented from sgpp::base::HashRefinement.

References sgpp::base::AbstractRefinement::createGridpoint1D(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getStandardCoordinate(), and sgpp::base::HashGridStorage::insert().


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