SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::base::PolyModifiedBasis< LT, IT > Class Template Reference

Modified polynomial base functions. More...

#include <PolyModifiedBasis.hpp>

Inheritance diagram for sgpp::base::PolyModifiedBasis< LT, IT >:
sgpp::base::Basis< LT, IT >

Public Member Functions

double eval (LT level, IT index, double p) override
 Evaluate the basis function with given level and index.
 
double eval (LT level, IT index, double p, double offset, double width)
 
double evalDx (LT level, IT index, double x) override
 Evaluate the basis functions derivative with given level and index.
 
double evalHierToTop (LT level, IT index, DataVector &coeffs, double pos)
 Evaluates all the hierarchical ancestors of the node defined by level and index.
 
size_t getDegree () const override
 Returns the polynomial degree of the basis.
 
double getIntegral (LT level, IT index) override
 returns the integal of the current basis function
 
 PolyModifiedBasis (size_t degree)
 Constructor.
 
 ~PolyModifiedBasis () override
 Destructor.
 
- Public Member Functions inherited from sgpp::base::Basis< LT, IT >
virtual ~Basis ()
 Destructor.
 

Protected Attributes

SPolyBase polyBasis
 poly basis
 

Detailed Description

template<class LT, class IT>
class sgpp::base::PolyModifiedBasis< LT, IT >

Modified polynomial base functions.

Special polynomial functions to cover values unequal 0 at the border. Implemented as seen in AWR 2 paper by Prof. Bungartz (http://www5.in.tum.de/wiki/index.php/Algorithmen_des_Wissenschaftlichen_Rechnens_II_-_Winter_08)

Constructor & Destructor Documentation

◆ PolyModifiedBasis()

template<class LT , class IT >
sgpp::base::PolyModifiedBasis< LT, IT >::PolyModifiedBasis ( size_t  degree)
inlineexplicit

Constructor.

Parameters
degreethe polynom's max. degree

◆ ~PolyModifiedBasis()

template<class LT , class IT >
sgpp::base::PolyModifiedBasis< LT, IT >::~PolyModifiedBasis ( )
inlineoverride

Destructor.

Member Function Documentation

◆ eval() [1/2]

template<class LT , class IT >
double sgpp::base::PolyModifiedBasis< LT, IT >::eval ( LT  level,
IT  index,
double  x 
)
inlineoverridevirtual

Evaluate the basis function with given level and index.

Parameters
levellevel of the basis function
indexindex of the basis function
xevaluation point
Returns
value of the basis function.

Implements sgpp::base::Basis< LT, IT >.

References h, and level.

Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity(), sgpp::base::OperationEvalModPolyNaive::eval(), sgpp::base::OperationEvalModPolyNaive::eval(), sgpp::base::PolyModifiedBasis< LT, IT >::eval(), sgpp::base::PolyModifiedBasis< LT, IT >::evalHierToTop(), and sgpp::pde::OperationLaplaceModPoly::mult().

◆ eval() [2/2]

template<class LT , class IT >
double sgpp::base::PolyModifiedBasis< LT, IT >::eval ( LT  level,
IT  index,
double  p,
double  offset,
double  width 
)
inline

◆ evalDx()

template<class LT , class IT >
double sgpp::base::PolyModifiedBasis< LT, IT >::evalDx ( LT  level,
IT  index,
double  x 
)
inlineoverridevirtual

Evaluate the basis functions derivative with given level and index.

Parameters
levellevel of the basis function
indexindex of the basis function
xevaluation point
Returns
value of the basis functions derivative.

Implements sgpp::base::Basis< LT, IT >.

References sgpp::base::PolyBasis< LT, IT >::evalDx(), level, and sgpp::base::PolyModifiedBasis< LT, IT >::polyBasis.

Referenced by sgpp::pde::OperationLaplaceModPoly::mult().

◆ evalHierToTop()

template<class LT , class IT >
double sgpp::base::PolyModifiedBasis< LT, IT >::evalHierToTop ( LT  level,
IT  index,
DataVector coeffs,
double  pos 
)
inline

Evaluates all the hierarchical ancestors of the node defined by level and index.

NOTE: It does not evaluate the current node itself.

Parameters
level
index
coeffs
pos
Returns

References sgpp::base::PolyModifiedBasis< LT, IT >::eval(), and level.

Referenced by sgpp::base::DehierarchisationModPoly::rec(), and sgpp::base::HierarchisationModPoly::rec().

◆ getDegree()

template<class LT , class IT >
size_t sgpp::base::PolyModifiedBasis< LT, IT >::getDegree ( ) const
inlineoverridevirtual

Returns the polynomial degree of the basis.

Returns
polynomial degree of the basis

Implements sgpp::base::Basis< LT, IT >.

References sgpp::base::PolyBasis< LT, IT >::getDegree(), and sgpp::base::PolyModifiedBasis< LT, IT >::polyBasis.

◆ getIntegral()

template<class LT , class IT >
double sgpp::base::PolyModifiedBasis< LT, IT >::getIntegral ( LT  level,
IT  index 
)
inlineoverridevirtual

returns the integal of the current basis function

Parameters
levellevel of the basis function
indexindex of the basis function
Returns

Implements sgpp::base::Basis< LT, IT >.

References sgpp::base::PolyBasis< LT, IT >::getIntegral(), level, and sgpp::base::PolyModifiedBasis< LT, IT >::polyBasis.

Referenced by sgpp::base::OperationQuadratureModPoly::doQuadrature().

Member Data Documentation

◆ polyBasis


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