SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::base::InterpolantScalarFunction Class Reference

Sparse grid interpolant of a scalar-valued function. More...

#include <InterpolantScalarFunction.hpp>

Inheritance diagram for sgpp::base::InterpolantScalarFunction:
sgpp::base::ScalarFunction

Public Member Functions

void clone (std::unique_ptr< ScalarFunction > &clone) const override
 
double eval (const DataVector &x) override
 Evaluation of the function.
 
const DataVectorgetAlpha () const
 
 InterpolantScalarFunction (Grid &grid, const DataVector &alpha)
 Constructor.
 
void setAlpha (const DataVector &alpha)
 
 ~InterpolantScalarFunction () override
 Destructor.
 
- Public Member Functions inherited from sgpp::base::ScalarFunction
virtual void eval (const DataMatrix &x, DataVector &value)
 Convenience method for calculating \(f(\vec{x})\) for multiple \(\vec{x}\).
 
size_t getNumberOfParameters () const
 
 ScalarFunction (size_t d)
 Constructor.
 
virtual ~ScalarFunction ()
 Destructor.
 

Protected Attributes

DataVector alpha
 coefficient vector
 
Gridgrid
 sparse grid
 
std::unique_ptr< OperationEvalopEval
 pointer to evaluation operation
 
- Protected Attributes inherited from sgpp::base::ScalarFunction
size_t d
 dimension of the domain
 

Detailed Description

Sparse grid interpolant of a scalar-valued function.

More generally, the function can be any linear combination \(f\colon [0, 1]^d \to \mathbb{R}\), \(f(\vec{x}) = \sum_{k=1}^N \alpha_k \varphi_k(\vec{x})\) of the basis functions \(\varphi_k = \varphi_{\vec{\ell}_k,\vec{i}_k}\) of a sparse grid with grid points \(\vec{x}_k = \vec{x}_{\vec{\ell}_k,\vec{i}_k}\). But most often, the function (e.g., its coefficients) is constructed as an interpolant at the grid points for some function values.

Constructor & Destructor Documentation

◆ InterpolantScalarFunction()

sgpp::base::InterpolantScalarFunction::InterpolantScalarFunction ( Grid grid,
const DataVector alpha 
)
inline

Constructor.

Do not destruct the grid before the InterpolantScalarFunction object!

Parameters
gridsparse grid
alphacoefficient vector

◆ ~InterpolantScalarFunction()

sgpp::base::InterpolantScalarFunction::~InterpolantScalarFunction ( )
inlineoverride

Destructor.

Member Function Documentation

◆ clone()

void sgpp::base::InterpolantScalarFunction::clone ( std::unique_ptr< ScalarFunction > &  clone) const
inlineoverridevirtual
Parameters
[out]clonepointer to cloned object

Implements sgpp::base::ScalarFunction.

References alpha, clone(), and grid.

Referenced by clone().

◆ eval()

double sgpp::base::InterpolantScalarFunction::eval ( const DataVector x)
inlineoverridevirtual

Evaluation of the function.

Parameters
xevaluation point \(\vec{x} \in [0, 1]^d\)
Returns
\(f(\vec{x})\)

Implements sgpp::base::ScalarFunction.

References alpha, sgpp::base::ScalarFunction::d, and opEval.

Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity().

◆ getAlpha()

const DataVector & sgpp::base::InterpolantScalarFunction::getAlpha ( ) const
inline
Returns
coefficient vector

References alpha.

Referenced by python.uq.analysis.asgc.ASGCKnowledge.ASGCKnowledge::getSparseGridFunction().

◆ setAlpha()

void sgpp::base::InterpolantScalarFunction::setAlpha ( const DataVector alpha)
inline
Parameters
alphacoefficient vector

References alpha.

Member Data Documentation

◆ alpha

◆ grid

Grid& sgpp::base::InterpolantScalarFunction::grid
protected

sparse grid

Referenced by python.uq.dists.SGDEdist.SGDEdist::__str__(), python.learner.Learner.Learner::applyData(), python.tools.Matrix::ApplyMatrix(), python.uq.dists.SGDEdist.SGDEdist::cdf(), clone(), python.uq.learner.Interpolant.Interpolant::doLearningIteration(), python.learner.Learner.Learner::doLearningIteration(), python.learner.Classifier.Classifier::evalError(), python.uq.learner.Interpolant.Interpolant::evalError(), python.tools.Matrix::generateb(), python.controller.CheckpointController.CheckpointController::generateFoldValidationJob(), python.uq.learner.SimulationLearner.SimulationLearner::getCollocationNodes(), python.uq.learner.SimulationLearner.SimulationLearner::getGrid(), python.uq.learner.SimulationLearner.SimulationLearner::getLearner(), python.learner.Learner.Learner::learnData(), python.learner.Learner.Learner::learnDataWithFolding(), python.uq.learner.Regressor.Regressor::learnDataWithFolding(), python.learner.Learner.Learner::learnDataWithTest(), python.uq.learner.Regressor.Regressor::learnDataWithTest(), python.controller.CheckpointController.CheckpointController::loadAll(), python.uq.operations.forcePositivity.operationMakePositive.OperationMakePositive::makePositive(), python.uq.operations.forcePositivity.operationMakePositiveFast.OperationMakePositiveFast::makePositive(), python.uq.dists.SGDEdist.SGDEdist::mean(), python.uq.dists.SGDEdist.SGDEdist::pdf(), python.uq.dists.SGDEdist.SGDEdist::ppf(), python.learner.Classifier.Classifier::refineGrid(), python.learner.Regressor.Regressor::refineGrid(), python.uq.learner.Regressor.Regressor::refineGrid(), python.uq.learner.SimulationLearner.SimulationLearner::refineGrid(), python.controller.CheckpointController.CheckpointController::saveGrid(), python.controller.CheckpointController.CheckpointController::setGrid(), python.learner.Learner.Learner::setGrid(), python.uq.learner.Learner.Learner::setGrid(), python.uq.operations.forcePositivity.localFullGridSearch.LocalFullGrid::split(), python.uq.dists.SGDEdist.SGDEdist::toJson(), and python.uq.dists.SGDEdist.SGDEdist::var().

◆ opEval

std::unique_ptr<OperationEval> sgpp::base::InterpolantScalarFunction::opEval
protected

pointer to evaluation operation

Referenced by eval().


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