![]() |
SG++-Doxygen-Documentation
|
B-spline basis on Clenshaw-Curtis grids. More...
#include <BsplineClenshawCurtisBasis.hpp>
Public Member Functions | |
BsplineClenshawCurtisBasis () | |
Default constructor. | |
BsplineClenshawCurtisBasis (size_t degree) | |
Constructor. | |
double | clenshawCurtisPoint (LT l, IT i) const |
void | constructKnots (LT l, IT i) |
Construct the (p+2) Clenshaw-Curtis knots of a B-spline basis function and save them in xi. | |
double | eval (LT l, IT i, double x) override |
double | evalDx (LT l, IT i, double x) override |
double | evalDxDx (LT l, IT i, double x) |
size_t | getDegree () const override |
double | getIntegral (LT l, IT i) override |
double | nonUniformBSpline (double x, size_t p, size_t k) const |
double | nonUniformBSplineDx (double x, size_t p, size_t k) const |
double | nonUniformBSplineDxDx (double x, size_t p, size_t k) const |
~BsplineClenshawCurtisBasis () override | |
Destructor. | |
![]() | |
virtual | ~Basis () |
Destructor. | |
Protected Attributes | |
BsplineBasis< LT, IT > | bsplineBasis |
B-spline basis for B-spline evaluation. | |
ClenshawCurtisTable & | clenshawCurtisTable |
reference to the Clenshaw-Curtis cache table | |
DataVector | coordinates |
bool | integrationInitialized = false |
DataVector | weights |
std::vector< double > | xi |
temporary helper vector of fixed size p+2 containing B-spline knots | |
B-spline basis on Clenshaw-Curtis grids.
|
inline |
Default constructor.
|
inlineexplicit |
Constructor.
degree | B-spline degree, must be odd (if it's even, degree - 1 is used) |
|
inlineoverride |
Destructor.
|
inline |
l | level of the grid point |
i | index of the grid point |
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::clenshawCurtisTable, and sgpp::base::ClenshawCurtisTable::getPoint().
Referenced by sgpp::pde::OperationLaplaceBsplineClenshawCurtis::mult(), and sgpp::pde::OperationMatrixLTwoDotBsplineClenshawCurtis::mult().
|
inline |
Construct the (p+2) Clenshaw-Curtis knots of a B-spline basis function and save them in xi.
l | level of basis function |
i | index of basis function |
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::bsplineBasis, sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::clenshawCurtisTable, sgpp::base::ClenshawCurtisTable::getPoint(), h, and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::xi.
Referenced by sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::eval(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::evalDx(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::evalDxDx(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::getIntegral().
|
inlineoverridevirtual |
l | level of basis function |
i | index of basis function |
x | evaluation point |
Implements sgpp::base::Basis< LT, IT >.
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::bsplineBasis, sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::constructKnots(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSpline().
Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity(), sgpp::base::OperationEvalBsplineClenshawCurtisNaive::eval(), sgpp::base::OperationEvalBsplineClenshawCurtisNaive::eval(), sgpp::base::OperationEvalGradientBsplineClenshawCurtisNaive::evalGradient(), sgpp::base::OperationEvalGradientBsplineClenshawCurtisNaive::evalGradient(), sgpp::base::OperationEvalHessianBsplineClenshawCurtisNaive::evalHessian(), sgpp::base::OperationEvalHessianBsplineClenshawCurtisNaive::evalHessian(), sgpp::base::OperationEvalPartialDerivativeBsplineClenshawCurtisNaive::evalPartialDerivative(), sgpp::base::OperationEvalPartialDerivativeBsplineClenshawCurtisNaive::evalPartialDerivative(), sgpp::base::OperationMultipleEvalBsplineClenshawCurtisNaive::mult(), sgpp::pde::OperationLaplaceBsplineClenshawCurtis::mult(), sgpp::pde::OperationMatrixLTwoDotBsplineClenshawCurtis::mult(), and sgpp::base::OperationMultipleEvalBsplineClenshawCurtisNaive::multTranspose().
|
inlineoverridevirtual |
l | level of basis function |
i | index of basis function |
x | evaluation point |
Implements sgpp::base::Basis< LT, IT >.
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::bsplineBasis, sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::constructKnots(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSplineDx().
Referenced by sgpp::base::OperationEvalGradientBsplineClenshawCurtisNaive::evalGradient(), sgpp::base::OperationEvalGradientBsplineClenshawCurtisNaive::evalGradient(), sgpp::base::OperationEvalHessianBsplineClenshawCurtisNaive::evalHessian(), sgpp::base::OperationEvalHessianBsplineClenshawCurtisNaive::evalHessian(), sgpp::base::OperationEvalPartialDerivativeBsplineClenshawCurtisNaive::evalPartialDerivative(), sgpp::base::OperationEvalPartialDerivativeBsplineClenshawCurtisNaive::evalPartialDerivative(), and sgpp::pde::OperationLaplaceBsplineClenshawCurtis::mult().
|
inline |
l | level of basis function |
i | index of basis function |
x | evaluation point |
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::bsplineBasis, sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::constructKnots(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSplineDxDx().
Referenced by sgpp::base::OperationEvalHessianBsplineClenshawCurtisNaive::evalHessian(), and sgpp::base::OperationEvalHessianBsplineClenshawCurtisNaive::evalHessian().
|
inlineoverridevirtual |
Implements sgpp::base::Basis< LT, IT >.
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::bsplineBasis.
|
inlineoverridevirtual |
l | level of basis function |
i | index of basis function |
Implements sgpp::base::Basis< LT, IT >.
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::bsplineBasis, sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::constructKnots(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::coordinates, sgpp::base::GaussLegendreQuadRule1D::getLevelPointsAndWeightsNormalized(), h, sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::integrationInitialized, sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSpline(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::weights, and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::xi.
Referenced by sgpp::base::OperationQuadratureBsplineClenshawCurtis::doQuadrature().
|
inline |
x | evaluation point |
p | B-spline degree |
k | index of B-spline in the knot sequence |
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSpline(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::xi.
Referenced by sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::eval(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::getIntegral(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSpline(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSplineDx(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSplineDxDx().
|
inline |
x | evaluation point |
p | B-spline degree |
k | index of B-spline in the knot sequence |
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSpline(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::xi.
Referenced by sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::evalDx().
|
inline |
x | evaluation point |
p | B-spline degree |
k | index of B-spline in the knot sequence |
References sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSpline(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::xi.
Referenced by sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::evalDxDx().
|
protected |
B-spline basis for B-spline evaluation.
Referenced by sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::constructKnots(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::eval(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::evalDx(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::evalDxDx(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::getDegree(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::getIntegral().
|
protected |
reference to the Clenshaw-Curtis cache table
Referenced by sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::clenshawCurtisPoint(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::constructKnots().
|
protected |
|
protected |
|
protected |
|
protected |
temporary helper vector of fixed size p+2 containing B-spline knots
Referenced by sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::constructKnots(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::getIntegral(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSpline(), sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSplineDx(), and sgpp::base::BsplineClenshawCurtisBasis< LT, IT >::nonUniformBSplineDxDx().