SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::base::ScalarFunctionGradient Class Referenceabstract

Abstract base class for scalar-valued functions \(f\colon [0, 1]^d \to \mathbb{R}\) together with their gradients \(\nabla f\colon [0, 1]^d \to \mathbb{R}^d\) (e.g., gradients of objective functions in optimization). More...

#include <ScalarFunctionGradient.hpp>

Inheritance diagram for sgpp::base::ScalarFunctionGradient:
sgpp::base::ComponentScalarFunctionGradient sgpp::base::InterpolantScalarFunctionGradient sgpp::base::ScaledScalarFunctionGradient sgpp::base::WrapperScalarFunctionGradient sgpp::optimization::ASInterpolantScalarFunctionGradient

Public Member Functions

virtual void clone (std::unique_ptr< ScalarFunctionGradient > &clone) const =0
 Pure virtual method for cloning the gradient.
 
virtual void eval (const DataMatrix &x, DataVector &value, DataMatrix &gradient)
 Convenience method for calculating \(f(\vec{x})\) together with \(\nabla f(\vec{x})\) for multiple \(\vec{x}\).
 
virtual double eval (const DataVector &x, DataVector &gradient)=0
 Pure virtual method for calculating \(f(\vec{x})\) together with \(\nabla f(\vec{x})\).
 
size_t getNumberOfParameters () const
 
 ScalarFunctionGradient (size_t d)
 Constructor.
 
virtual ~ScalarFunctionGradient ()
 Destructor.
 

Protected Attributes

size_t d
 dimension of the domain
 

Detailed Description

Abstract base class for scalar-valued functions \(f\colon [0, 1]^d \to \mathbb{R}\) together with their gradients \(\nabla f\colon [0, 1]^d \to \mathbb{R}^d\) (e.g., gradients of objective functions in optimization).

Constructor & Destructor Documentation

◆ ScalarFunctionGradient()

sgpp::base::ScalarFunctionGradient::ScalarFunctionGradient ( size_t  d)
inlineexplicit

Constructor.

Parameters
ddimension of the domain

◆ ~ScalarFunctionGradient()

virtual sgpp::base::ScalarFunctionGradient::~ScalarFunctionGradient ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ clone()

virtual void sgpp::base::ScalarFunctionGradient::clone ( std::unique_ptr< ScalarFunctionGradient > &  clone) const
pure virtual

Pure virtual method for cloning the gradient.

It should generate a pointer to the cloned object and it's used for parallel computations (the eval() method might not be thread-safe).

Parameters
[out]clonepointer to cloned object

Implemented in sgpp::base::ComponentScalarFunctionGradient, sgpp::base::InterpolantScalarFunctionGradient, sgpp::base::ScaledScalarFunctionGradient, and sgpp::base::WrapperScalarFunctionGradient.

◆ eval() [1/2]

virtual void sgpp::base::ScalarFunctionGradient::eval ( const DataMatrix x,
DataVector value,
DataMatrix gradient 
)
inlinevirtual

Convenience method for calculating \(f(\vec{x})\) together with \(\nabla f(\vec{x})\) for multiple \(\vec{x}\).

Parameters
xmatrix \(\vec{x} \in [0, 1]^{N \times d}\) of evaluation points (row-wise)
[out]valuevector of size \(N\), where the \(k\)-th entry is \(f(\vec{x}_k)\) (where \(\vec{x}_k\) is the \(k\)-th row of \(x\))
[out]gradientmatrix of size \(N \times d\) where the \(k\)-th row is \(\nabla f(\vec{x}_k)\)

References d, eval(), sgpp::base::DataMatrix::getNrows(), sgpp::base::DataMatrix::getRow(), sgpp::base::DataMatrix::resize(), and sgpp::base::DataMatrix::setRow().

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

◆ eval() [2/2]

virtual double sgpp::base::ScalarFunctionGradient::eval ( const DataVector x,
DataVector gradient 
)
pure virtual

Pure virtual method for calculating \(f(\vec{x})\) together with \(\nabla f(\vec{x})\).

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

Implemented in sgpp::optimization::ASInterpolantScalarFunctionGradient, sgpp::base::ComponentScalarFunctionGradient, sgpp::base::InterpolantScalarFunctionGradient, sgpp::base::ScaledScalarFunctionGradient, and sgpp::base::WrapperScalarFunctionGradient.

Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity(), eval(), and sgpp::base::ComponentScalarFunctionGradient::eval().

◆ getNumberOfParameters()

size_t sgpp::base::ScalarFunctionGradient::getNumberOfParameters ( ) const
inline
Returns
dimension \(d\) of the domain

References d.

Member Data Documentation

◆ d


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