SG++
sgpp::combigrid::AbstractLinearEvaluator< V > Class Template Referenceabstract

See also AbstractEvaluator. More...

#include <AbstractLinearEvaluator.hpp>

Inheritance diagram for sgpp::combigrid::AbstractLinearEvaluator< V >:
sgpp::combigrid::AbstractEvaluator< V >

Public Member Functions

virtual std::shared_ptr< AbstractEvaluator< V > > clone ()
 Clones the AbstractEvaluator object. More...
 
virtual std::shared_ptr< AbstractLinearEvaluator< V > > cloneLinear ()=0
 Clones this object and returns it as a shared pointer to AbstractLinearEvaluator<V>. More...
 
virtual V eval ()
 AbstractLinearEvaluator provides a standard implementation of this method based on getBasisCoefficients(). More...
 
virtual std::vector< double > getBasisCoefficients ()=0
 
virtual std::vector< V > getBasisValues ()=0
 This method is specific to AbstractLinearEvaluator and has to be implemented by all subclasses. More...
 
virtual void getBounds (double &a, double &b)
 
virtual void getWeightFunction (sgpp::combigrid::SingleFunction &weight_function)
 
virtual bool hasCustomWeightFunction ()
 
virtual bool needsOrderedPoints ()=0
 
virtual bool needsParameter ()=0
 
virtual void setBasisCoefficientsAtGridPoints (std::vector< double > &newBasisCoefficients)=0
 set the basis coefficients for the linear combination. More...
 
virtual void setBounds (double a, double b)
 
virtual void setGridPoints (std::vector< double > const &xValues)=0
 Sets the grid points for evaluation. More...
 
virtual void setParameter (V const &param)=0
 Via this method, the parameter can be set. More...
 
virtual void setWeightFunction (sgpp::combigrid::SingleFunction weight_function)
 
virtual ~AbstractLinearEvaluator ()
 
- Public Member Functions inherited from sgpp::combigrid::AbstractEvaluator< V >
virtual EvaluatorConfiguration getConfig ()
 (Currently not used). More...
 
virtual void setConfig (EvaluatorConfiguration newEvalConfig)
 
void setLevel (size_t level)
 This is used to set the level in case an evaluator needs it. More...
 
virtual ~AbstractEvaluator ()
 

Additional Inherited Members

- Protected Attributes inherited from sgpp::combigrid::AbstractEvaluator< V >
EvaluatorConfiguration evalConfig
 
size_t level = 0
 

Detailed Description

template<typename V>
class sgpp::combigrid::AbstractLinearEvaluator< V >

See also AbstractEvaluator.

Linear means that the evaluator is linear in the function it interpolates, not necessarily (in the interpolation case) in the evaluation point x. Especially, this means, that linear coefficients for the function values at each grid points can be calculated, which are used by FullGridTensorEvaluator.

Constructor & Destructor Documentation

template<typename V>
virtual sgpp::combigrid::AbstractLinearEvaluator< V >::~AbstractLinearEvaluator ( )
inlinevirtual

Member Function Documentation

template<typename V>
virtual std::shared_ptr<AbstractEvaluator<V> > sgpp::combigrid::AbstractLinearEvaluator< V >::clone ( )
inlinevirtual
template<typename V>
virtual V sgpp::combigrid::AbstractLinearEvaluator< V >::eval ( )
inlinevirtual
template<typename V>
virtual std::vector<V> sgpp::combigrid::AbstractLinearEvaluator< V >::getBasisValues ( )
pure virtual

This method is specific to AbstractLinearEvaluator and has to be implemented by all subclasses.

It should return the coefficients used for the linear combination of function values. Example: If you want to do a linear interpolation and have the grid points 0.0 and 0.5 and an evaluation point (the parameter) of 0.2, you would return the weights (0.6, 0.4), because the interpolated value is 0.6 * f(0) + 0.4 * f(0.5).

In the case of multi-evaluation, this returns several coefficients for each grid point. Continuing the example above, if you would have evaluation points 0.2 and 0.4, the basis coefficients returned should be ((0.6, 0.2), (0.4, 0.8)).

Implemented in sgpp::combigrid::PolynomialScalarProductEvaluator, sgpp::combigrid::BSplineScalarProductEvaluator, sgpp::combigrid::PolynomialQuadratureEvaluator, sgpp::combigrid::BSplineQuadratureEvaluator, sgpp::combigrid::ArrayEvaluator< ScalarEvaluator >, sgpp::combigrid::PolynomialInterpolationEvaluator, sgpp::combigrid::BSplineInterpolationCoefficientEvaluator, sgpp::combigrid::LinearInterpolationEvaluator, sgpp::combigrid::InterpolationCoefficientEvaluator, sgpp::combigrid::BSplineInterpolationEvaluator, and sgpp::combigrid::CubicSplineInterpolationEvaluator.

Referenced by sgpp::combigrid::AbstractLinearEvaluator< FloatTensorVector >::eval(), and sgpp::combigrid::AbstractLinearEvaluator< FloatTensorVector >::~AbstractLinearEvaluator().

template<typename V>
virtual void sgpp::combigrid::AbstractLinearEvaluator< V >::getBounds ( double &  a,
double &  b 
)
inlinevirtual
template<typename V>
virtual void sgpp::combigrid::AbstractLinearEvaluator< V >::getWeightFunction ( sgpp::combigrid::SingleFunction weight_function)
inlinevirtual
template<typename V>
virtual bool sgpp::combigrid::AbstractLinearEvaluator< V >::hasCustomWeightFunction ( )
inlinevirtual
template<typename V>
virtual void sgpp::combigrid::AbstractLinearEvaluator< V >::setBounds ( double  a,
double  b 
)
inlinevirtual
template<typename V>
virtual void sgpp::combigrid::AbstractLinearEvaluator< V >::setWeightFunction ( sgpp::combigrid::SingleFunction  weight_function)
inlinevirtual

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