SG++-Doxygen-Documentation
|
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\) and Hessians \(H_f\colon [0, 1]^d \to \mathbb{R}^{d \times d}\) (e.g., Hessians of objective functions in optimization). More...
#include <ScalarFunctionHessian.hpp>
Public Member Functions | |
virtual void | clone (std::unique_ptr< ScalarFunctionHessian > &clone) const =0 |
Pure virtual method for cloning the Hessian. More... | |
virtual double | eval (const base::DataVector &x, base::DataVector &gradient, base::DataMatrix &hessian)=0 |
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}\). More... | |
size_t | getNumberOfParameters () const |
ScalarFunctionHessian (size_t d) | |
Constructor. More... | |
virtual | ~ScalarFunctionHessian () |
Destructor. More... | |
Protected Attributes | |
size_t | d |
dimension of the domain More... | |
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\) and Hessians \(H_f\colon [0, 1]^d \to \mathbb{R}^{d \times d}\) (e.g., Hessians of objective functions in optimization).
|
inlineexplicit |
Constructor.
d | dimension of the domain |
|
inlinevirtual |
Destructor.
References eval().
|
pure virtual |
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).
[out] | clone | pointer to cloned object |
Implemented in sgpp::optimization::ComponentScalarFunctionHessian, sgpp::optimization::InterpolantScalarFunctionHessian, and sgpp::optimization::WrapperScalarFunctionHessian.
Referenced by sgpp::optimization::optimizer::AdaptiveNewton::AdaptiveNewton(), getNumberOfParameters(), and sgpp::optimization::optimizer::Newton::Newton().
|
pure virtual |
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}\).
x | evaluation point \(\vec{x} \in [0, 1]^d\) | |
[out] | gradient | gradient \(\nabla f(\vec{x}) \in \mathbb{R}^d\) |
[out] | hessian | Hessian matrix \(H_f(\vec{x}) \in \mathbb{R}^{d \times d}\) |
Implemented in sgpp::optimization::ComponentScalarFunctionHessian, sgpp::optimization::InterpolantScalarFunctionHessian, and sgpp::optimization::WrapperScalarFunctionHessian.
Referenced by sgpp::optimization::ComponentScalarFunctionHessian::eval(), and ~ScalarFunctionHessian().
|
inline |
|
protected |
dimension of the domain
Referenced by sgpp::optimization::WrapperScalarFunctionHessian::clone(), sgpp::optimization::InterpolantScalarFunctionHessian::eval(), and getNumberOfParameters().