![]() |
SG++-Doxygen-Documentation
|
Interface class for simple usage of the combigrid module. More...
#include <CombigridOperation.hpp>
Public Member Functions | |
CombigridOperation (std::vector< std::shared_ptr< AbstractPointHierarchy >> pointHierarchies, std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> evaluatorPrototypes, std::shared_ptr< LevelManager > levelManager, MultiFunction func, bool exploitNesting=true, FullGridSummationStrategyType summationStrategyType=FullGridSummationStrategyType::LINEAR, std::shared_ptr< NormStrategy< FloatScalarVector >> normStrategy=nullptr) | |
CombigridOperation (std::vector< std::shared_ptr< AbstractPointHierarchy >> pointHierarchies, std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> evaluatorPrototypes, std::shared_ptr< LevelManager > levelManager, std::shared_ptr< AbstractCombigridStorage > storage, FullGridSummationStrategyType summationStrategyType=FullGridSummationStrategyType::LINEAR, std::shared_ptr< NormStrategy< FloatScalarVector >> normStrategy=nullptr) | |
CombigridOperation (std::vector< std::shared_ptr< AbstractPointHierarchy >> pointHierarchies, std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> evaluatorPrototypes, std::shared_ptr< LevelManager > levelManager, GridFunction gridFunc, bool exploitNesting=true, FullGridSummationStrategyType summationStrategyType=FullGridSummationStrategyType::LINEAR, std::shared_ptr< NormStrategy< FloatScalarVector >> normStrategy=nullptr) | |
double | evaluate (size_t q, base::DataVector const ¶m=base::DataVector(0)) |
std::shared_ptr< AbstractFullGridEvaluator< FloatScalarVector > > | getFullGridEval () |
std::shared_ptr< LevelManager > | getLevelManager () |
std::vector< std::shared_ptr< AbstractPointHierarchy > > | getPointHierarchies () |
double | getResult () |
std::shared_ptr< AbstractCombigridStorage > | getStorage () |
size_t | getUpperPointBound () const |
size_t | numDims () |
size_t | numGridPoints () |
size_t | numStoredFunctionValues () |
void | setLevelManager (std::shared_ptr< LevelManager > levelManager) |
void | setParameters (base::DataVector const ¶m=base::DataVector(0)) |
void | setStorage (std::shared_ptr< AbstractCombigridStorage > storage) |
Interface class for simple usage of the combigrid module.
Via a CombigridOperation, the evaluation (interpolation at a single point or quadrature) of the computation pipeline can be easily managed. There are two main ways to create this class:
Via the LevelManager, which can be get and set, one can control which adaptivity criterion might be used. For easy evaluation, there is an evaluate()-method, which does all the work at once and generates a regular level structure. To get more control over the level structure, one may proceed as follows:
For method documentation, please refer to CombigridMultiOperation.
sgpp::combigrid::CombigridOperation::CombigridOperation | ( | std::vector< std::shared_ptr< AbstractPointHierarchy >> | pointHierarchies, |
std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> | evaluatorPrototypes, | ||
std::shared_ptr< LevelManager > | levelManager, | ||
MultiFunction | func, | ||
bool | exploitNesting = true , |
||
FullGridSummationStrategyType | summationStrategyType = FullGridSummationStrategyType::LINEAR , |
||
std::shared_ptr< NormStrategy< FloatScalarVector >> | normStrategy = nullptr |
||
) |
sgpp::combigrid::CombigridOperation::CombigridOperation | ( | std::vector< std::shared_ptr< AbstractPointHierarchy >> | pointHierarchies, |
std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> | evaluatorPrototypes, | ||
std::shared_ptr< LevelManager > | levelManager, | ||
std::shared_ptr< AbstractCombigridStorage > | storage, | ||
FullGridSummationStrategyType | summationStrategyType = FullGridSummationStrategyType::LINEAR , |
||
std::shared_ptr< NormStrategy< FloatScalarVector >> | normStrategy = nullptr |
||
) |
sgpp::combigrid::CombigridOperation::CombigridOperation | ( | std::vector< std::shared_ptr< AbstractPointHierarchy >> | pointHierarchies, |
std::vector< std::shared_ptr< AbstractLinearEvaluator< FloatScalarVector >>> | evaluatorPrototypes, | ||
std::shared_ptr< LevelManager > | levelManager, | ||
GridFunction | gridFunc, | ||
bool | exploitNesting = true , |
||
FullGridSummationStrategyType | summationStrategyType = FullGridSummationStrategyType::LINEAR , |
||
std::shared_ptr< NormStrategy< FloatScalarVector >> | normStrategy = nullptr |
||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
double sgpp::combigrid::CombigridOperation::evaluate | ( | size_t | q, |
base::DataVector const & | param = base::DataVector(0) |
||
) |
std::shared_ptr< AbstractFullGridEvaluator< FloatScalarVector > > sgpp::combigrid::CombigridOperation::getFullGridEval | ( | ) |
std::shared_ptr< LevelManager > sgpp::combigrid::CombigridOperation::getLevelManager | ( | ) |
std::vector< std::shared_ptr< AbstractPointHierarchy > > sgpp::combigrid::CombigridOperation::getPointHierarchies | ( | ) |
double sgpp::combigrid::CombigridOperation::getResult | ( | ) |
std::shared_ptr< AbstractCombigridStorage > sgpp::combigrid::CombigridOperation::getStorage | ( | ) |
size_t sgpp::combigrid::CombigridOperation::getUpperPointBound | ( | ) | const |
size_t sgpp::combigrid::CombigridOperation::numDims | ( | ) |
size_t sgpp::combigrid::CombigridOperation::numGridPoints | ( | ) |
size_t sgpp::combigrid::CombigridOperation::numStoredFunctionValues | ( | ) |
void sgpp::combigrid::CombigridOperation::setLevelManager | ( | std::shared_ptr< LevelManager > | levelManager | ) |
void sgpp::combigrid::CombigridOperation::setParameters | ( | base::DataVector const & | param = base::DataVector(0) | ) |
References sgpp::base::DataVector::getSize(), and python.statsfileInfo::i.
void sgpp::combigrid::CombigridOperation::setStorage | ( | std::shared_ptr< AbstractCombigridStorage > | storage | ) |
storage | the storage containing the coefficients precalculated by some other operation |
References sgpp::combigrid::CombigridOperationImpl::storage.