SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::combigrid::OperationPoleHierarchisationGeneral Class Reference

Operation of hierarchising values on a 1D pole of a full grid with general basis functions by solving a linear system. More...

#include <OperationPoleHierarchisationGeneral.hpp>

Inheritance diagram for sgpp::combigrid::OperationPoleHierarchisationGeneral:
sgpp::combigrid::OperationPole

Classes

class  HierarchisationGeneralSLE
 Class for the system of linear equations for hierarchising. More...
 

Public Member Functions

void apply (base::DataVector &values, size_t start, size_t step, size_t count, level_t level, bool hasBoundary=true) override
 Apply the operator on data.
 
 OperationPoleHierarchisationGeneral (base::Basis< level_t, index_t > &basis, bool isBasisHierarchical=true)
 Constructor.
 
 ~OperationPoleHierarchisationGeneral () override
 Virtual destructor.
 
- Public Member Functions inherited from sgpp::combigrid::OperationPole
virtual void apply (base::DataVector &values, level_t level, bool hasBoundary=true)
 Apply the operator on data.
 
 OperationPole ()
 Default constructor.
 
virtual ~OperationPole ()
 Virtual destructor.
 

Static Public Member Functions

static void fromHeterogenerousBasis (const HeterogeneousBasis &basis, std::vector< OperationPole * > &operation)
 Factory method to create a vector of pointers to OperationPoleHierarchisationGeneral objects from a HeterogeneousBasis.
 
static void fromHeterogenerousBasis (const HeterogeneousBasis &basis, std::vector< std::unique_ptr< OperationPole > > &operation)
 Factory method to create a vector of unique_ptr to OperationPoleHierarchisationGeneral objects from a HeterogeneousBasis.
 

Protected Attributes

HierarchisationGeneralSLE sle
 system of linear equations for the hierarchising
 
base::sle_solver::Auto sleSolver
 solver for the system of linear equations
 

Detailed Description

Operation of hierarchising values on a 1D pole of a full grid with general basis functions by solving a linear system.

Constructor & Destructor Documentation

◆ OperationPoleHierarchisationGeneral()

sgpp::combigrid::OperationPoleHierarchisationGeneral::OperationPoleHierarchisationGeneral ( base::Basis< level_t, index_t > &  basis,
bool  isBasisHierarchical = true 
)
explicit

Constructor.

Parameters
basis1D basis
isBasisHierarchicalwhether the basis is hierarchical or nodal

◆ ~OperationPoleHierarchisationGeneral()

sgpp::combigrid::OperationPoleHierarchisationGeneral::~OperationPoleHierarchisationGeneral ( )
override

Virtual destructor.

Member Function Documentation

◆ apply()

void sgpp::combigrid::OperationPoleHierarchisationGeneral::apply ( base::DataVector values,
size_t  start,
size_t  step,
size_t  count,
level_t  level,
bool  hasBoundary = true 
)
overridevirtual

Apply the operator on data.

Parameters
[in,out]valuesdata vector for all full grid points (the order is given by IndexVectorRange)
[in]startsequence number of the first grid point of the pole
[in]stepdifference of sequence numbers of two subsequent grid points of the pole
[in]countnumber of grid points of the pole
[in]levellevel of the full grid
[in]hasBoundarywhether the full grid has points on the boundary

Implements sgpp::combigrid::OperationPole.

References level, sgpp::combigrid::OperationPoleHierarchisationGeneral::HierarchisationGeneralSLE::setDimension(), sgpp::combigrid::OperationPoleHierarchisationGeneral::HierarchisationGeneralSLE::setHasBoundary(), sgpp::combigrid::OperationPoleHierarchisationGeneral::HierarchisationGeneralSLE::setLevel(), sle, sleSolver, and sgpp::base::sle_solver::Auto::solve().

◆ fromHeterogenerousBasis() [1/2]

void sgpp::combigrid::OperationPoleHierarchisationGeneral::fromHeterogenerousBasis ( const HeterogeneousBasis basis,
std::vector< OperationPole * > &  operation 
)
static

Factory method to create a vector of pointers to OperationPoleHierarchisationGeneral objects from a HeterogeneousBasis.

Parameters
[in]basismultivariate basis
[out]operationvector of pointers to OperationPoleHierarchisationGeneral objects corresponding to the given basis

References sgpp::combigrid::HeterogeneousBasis::getBases1d(), and sgpp::combigrid::HeterogeneousBasis::isHierarchical().

◆ fromHeterogenerousBasis() [2/2]

void sgpp::combigrid::OperationPoleHierarchisationGeneral::fromHeterogenerousBasis ( const HeterogeneousBasis basis,
std::vector< std::unique_ptr< OperationPole > > &  operation 
)
static

Factory method to create a vector of unique_ptr to OperationPoleHierarchisationGeneral objects from a HeterogeneousBasis.

Parameters
[in]basismultivariate basis
[out]operationvector of unique_ptr to OperationPoleHierarchisationGeneral objects corresponding to the given basis

References sgpp::combigrid::HeterogeneousBasis::getBases1d(), and sgpp::combigrid::HeterogeneousBasis::isHierarchical().

Member Data Documentation

◆ sle

HierarchisationGeneralSLE sgpp::combigrid::OperationPoleHierarchisationGeneral::sle
protected

system of linear equations for the hierarchising

Referenced by apply().

◆ sleSolver

base::sle_solver::Auto sgpp::combigrid::OperationPoleHierarchisationGeneral::sleSolver
protected

solver for the system of linear equations

Referenced by apply().


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