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

#include <ScaledScalarFunctionHessian.hpp>

Inheritance diagram for sgpp::base::ScaledScalarFunctionHessian:
sgpp::base::ScalarFunctionHessian

Public Member Functions

void clone (std::unique_ptr< ScalarFunctionHessian > &clone) const override
 Pure virtual method for cloning the Hessian.
 
double eval (const DataVector &x, DataVector &gradient, DataMatrix &hessian) override
 Pure virtual method for calculating \(f(\vec{x})\) together with \(\nabla f(\vec{x})\) and \(H_f(\vec{x}) \in \mathbb{R}^{d \times d}\).
 
const DataVectorgetLowerBounds () const
 
const DataVectorgetUpperBounds () const
 
double getValueFactor (double valueFactor) const
 
 ScaledScalarFunctionHessian (const ScalarFunctionHessian &fHessianOrig)
 
 ScaledScalarFunctionHessian (const ScalarFunctionHessian &fHessianOrig, const DataVector &lowerBounds, const DataVector &upperBounds, double valueFactor)
 
void setLowerBounds (const DataVector &lowerBounds)
 
void setUpperBounds (const DataVector &upperBounds)
 
void setValueFactor (double valueFactor)
 
 ~ScaledScalarFunctionHessian () override
 
- Public Member Functions inherited from sgpp::base::ScalarFunctionHessian
void eval (const DataMatrix &x, DataVector &value, DataMatrix &gradient, std::vector< DataMatrix > &hessian)
 Convenience method for calculating \(f(\vec{x})\) together with \(\nabla f(\vec{x})\) and \(H_f(\vec{x}) \in \mathbb{R}^{d \times d}\) for multiple \(\vec{x}\).
 
size_t getNumberOfParameters () const
 
 ScalarFunctionHessian (size_t d)
 Constructor.
 
virtual ~ScalarFunctionHessian ()
 Destructor.
 

Protected Attributes

std::unique_ptr< ScalarFunctionHessianfHessianOrig
 
DataVector lowerBounds
 
DataVector upperBounds
 
double valueFactor
 
DataVector xScaled
 
- Protected Attributes inherited from sgpp::base::ScalarFunctionHessian
size_t d
 dimension of the domain
 

Constructor & Destructor Documentation

◆ ScaledScalarFunctionHessian() [1/2]

sgpp::base::ScaledScalarFunctionHessian::ScaledScalarFunctionHessian ( const ScalarFunctionHessian fHessianOrig)
inlineexplicit

◆ ScaledScalarFunctionHessian() [2/2]

sgpp::base::ScaledScalarFunctionHessian::ScaledScalarFunctionHessian ( const ScalarFunctionHessian fHessianOrig,
const DataVector lowerBounds,
const DataVector upperBounds,
double  valueFactor 
)
inline

References fHessianOrig.

◆ ~ScaledScalarFunctionHessian()

sgpp::base::ScaledScalarFunctionHessian::~ScaledScalarFunctionHessian ( )
inlineoverride

Member Function Documentation

◆ clone()

void sgpp::base::ScaledScalarFunctionHessian::clone ( std::unique_ptr< ScalarFunctionHessian > &  clone) const
inlineoverridevirtual

Pure virtual method for cloning the Hessian.

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

Implements sgpp::base::ScalarFunctionHessian.

References clone(), fHessianOrig, lowerBounds, upperBounds, and valueFactor.

Referenced by clone().

◆ eval()

double sgpp::base::ScaledScalarFunctionHessian::eval ( const DataVector x,
DataVector gradient,
DataMatrix hessian 
)
inlineoverridevirtual

Pure virtual method for calculating \(f(\vec{x})\) together with \(\nabla f(\vec{x})\) and \(H_f(\vec{x}) \in \mathbb{R}^{d \times d}\).

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

Implements sgpp::base::ScalarFunctionHessian.

References sgpp::base::ScalarFunctionHessian::d, fHessianOrig, lowerBounds, upperBounds, valueFactor, and xScaled.

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

◆ getLowerBounds()

const DataVector & sgpp::base::ScaledScalarFunctionHessian::getLowerBounds ( ) const
inline

References lowerBounds.

◆ getUpperBounds()

const DataVector & sgpp::base::ScaledScalarFunctionHessian::getUpperBounds ( ) const
inline

References upperBounds.

◆ getValueFactor()

double sgpp::base::ScaledScalarFunctionHessian::getValueFactor ( double  valueFactor) const
inline

References valueFactor.

◆ setLowerBounds()

void sgpp::base::ScaledScalarFunctionHessian::setLowerBounds ( const DataVector lowerBounds)
inline

◆ setUpperBounds()

void sgpp::base::ScaledScalarFunctionHessian::setUpperBounds ( const DataVector upperBounds)
inline

◆ setValueFactor()

void sgpp::base::ScaledScalarFunctionHessian::setValueFactor ( double  valueFactor)
inline

Member Data Documentation

◆ fHessianOrig

std::unique_ptr<ScalarFunctionHessian> sgpp::base::ScaledScalarFunctionHessian::fHessianOrig
protected

◆ lowerBounds

DataVector sgpp::base::ScaledScalarFunctionHessian::lowerBounds
protected

◆ upperBounds

DataVector sgpp::base::ScaledScalarFunctionHessian::upperBounds
protected

◆ valueFactor

double sgpp::base::ScaledScalarFunctionHessian::valueFactor
protected

◆ xScaled

DataVector sgpp::base::ScaledScalarFunctionHessian::xScaled
protected

Referenced by eval().


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