![]() |
SG++-Doxygen-Documentation
|
Polynomial basis functions. More...
#include <PolyBasis.hpp>
Public Member Functions | |
double | eval (LT level, IT index, double p) override |
Evaluate the basis function with given level and index. | |
double | evalBasis (LT level, IT index, double p) |
Evaluate a basis function. | |
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 | |
PolyBasis (size_t degree) | |
Constructor. | |
~PolyBasis () override | |
Destructor. | |
![]() | |
virtual | ~Basis () |
Destructor. | |
Protected Attributes | |
size_t | degree |
the polynom's max degree | |
std::vector< int > | idxtable |
Polynomial basis functions.
|
inlineexplicit |
Constructor.
degree | the polynom's max. degree |
References sgpp::base::PolyBasis< LT, IT >::degree, and sgpp::base::PolyBasis< LT, IT >::idxtable.
|
inlineoverride |
Destructor.
|
inlineoverridevirtual |
Evaluate the basis function with given level and index.
level | level of the basis function |
index | index of the basis function |
x | evaluation point |
Implements sgpp::base::Basis< LT, IT >.
References sgpp::base::PolyBasis< LT, IT >::evalBasis(), h, and level.
Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity(), sgpp::base::OperationEvalPolyNaive::eval(), sgpp::base::OperationEvalPolyNaive::eval(), sgpp::base::PolyBoundaryBasis< LT, IT >::eval(), sgpp::base::PolyBasis< LT, IT >::evalBasis(), sgpp::base::PolyBasis< LT, IT >::evalDx(), sgpp::base::PolyBasis< LT, IT >::evalHierToTop(), sgpp::base::PolyBasis< LT, IT >::getIntegral(), sgpp::base::OperationMultipleEvalPolyNaive::mult(), sgpp::pde::OperationLaplacePoly::mult(), and sgpp::base::OperationMultipleEvalPolyNaive::multTranspose().
|
inline |
Evaluate a basis function.
Has a dependence on the absolute position of grid point and support.
We compute the roots in units of h = grid spacing at level l = 2 ** -l.
Due to limited polynomial degree, we compute the roots of the Lagrange polynomial bottom up.
References sgpp::base::PolyBasis< LT, IT >::degree, sgpp::base::PolyBasis< LT, IT >::eval(), sgpp::base::PolyBasis< LT, IT >::idxtable, and level.
Referenced by sgpp::base::PolyBasis< LT, IT >::eval().
|
inlineoverridevirtual |
Evaluate the basis functions derivative with given level and index.
level | level of the basis function |
index | index of the basis function |
x | evaluation point |
Implements sgpp::base::Basis< LT, IT >.
References sgpp::base::PolyBasis< LT, IT >::degree, sgpp::base::PolyBasis< LT, IT >::eval(), h, sgpp::base::PolyBasis< LT, IT >::idxtable, and level.
Referenced by sgpp::base::PolyBoundaryBasis< LT, IT >::evalDx(), sgpp::base::PolyModifiedBasis< LT, IT >::evalDx(), and sgpp::pde::OperationLaplacePoly::mult().
|
inline |
Evaluates all the hierarchical ancestors of the node defined by level and index.
NOTE: It does not evaluate the current node itself.
level | |
index | |
coeffs | |
pos |
References sgpp::base::PolyBasis< LT, IT >::eval(), and level.
Referenced by sgpp::base::DehierarchisationPoly::rec(), and sgpp::base::HierarchisationPoly::rec().
|
inlineoverridevirtual |
Returns the polynomial degree of the basis.
Implements sgpp::base::Basis< LT, IT >.
References sgpp::base::PolyBasis< LT, IT >::degree.
Referenced by sgpp::base::PolyBoundaryBasis< LT, IT >::getDegree(), and sgpp::base::PolyModifiedBasis< LT, IT >::getDegree().
|
inlineoverridevirtual |
returns the integal of the current basis function
level | level of the basis function |
index | index of the basis function |
Implements sgpp::base::Basis< LT, IT >.
References sgpp::base::PolyBasis< LT, IT >::degree, sgpp::base::PolyBasis< LT, IT >::eval(), sgpp::base::QuadRule1D::getLevelPointsAndWeights(), h, and level.
Referenced by sgpp::base::OperationQuadraturePoly::doQuadrature(), sgpp::base::PolyBoundaryBasis< LT, IT >::getIntegral(), and sgpp::base::PolyModifiedBasis< LT, IT >::getIntegral().
|
protected |
|
protected |