SG++-Doxygen-Documentation
|
Abstract base class for vector-valued functions \(g\colon [0, 1]^d \to \mathbb{R}^m\) together with their Jacobians \(\nabla g\colon [0, 1]^d \to \mathbb{R}^{m \times d}\), i.e. More...
#include <VectorFunctionGradient.hpp>
Public Member Functions | |
virtual void | clone (std::unique_ptr< VectorFunctionGradient > &clone) const =0 |
Pure virtual method for cloning the gradient. More... | |
virtual void | eval (const base::DataVector &x, base::DataVector &value, base::DataMatrix &gradient)=0 |
Pure virtual method for calculating \(g(\vec{x})\) together with \(\nabla g(\vec{x})\). More... | |
size_t | getNumberOfComponents () const |
size_t | getNumberOfParameters () const |
VectorFunctionGradient (size_t d, size_t m) | |
Constructor. More... | |
virtual | ~VectorFunctionGradient () |
Destructor. More... | |
Protected Attributes | |
size_t | d |
dimension of the domain More... | |
size_t | m |
number of components More... | |
Abstract base class for vector-valued functions \(g\colon [0, 1]^d \to \mathbb{R}^m\) together with their Jacobians \(\nabla g\colon [0, 1]^d \to \mathbb{R}^{m \times d}\), i.e.
\((\nabla g)_{i,t} = \frac{\partial}{\partial x_t} g_i\) with \(g = (g_i)_{i=1}^m\) (e.g., equality/inequality constraints \(g(\vec{x}) \le \vec{0}\) or \(g(\vec{x}) = \vec{0}\) in optimization).
|
inline |
Constructor.
d | dimension of the domain |
m | number of components |
|
inlinevirtual |
Destructor.
References eval().
|
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).
[out] | clone | pointer to cloned object |
Implemented in sgpp::optimization::InterpolantVectorFunctionGradient, and sgpp::optimization::WrapperVectorFunctionGradient.
Referenced by sgpp::optimization::optimizer::AugmentedLagrangian::AugmentedLagrangian(), getNumberOfComponents(), sgpp::optimization::optimizer::LevenbergMarquardt::LevenbergMarquardt(), sgpp::optimization::optimizer::LogBarrier::LogBarrier(), and sgpp::optimization::optimizer::SquaredPenalty::SquaredPenalty().
|
pure virtual |
Pure virtual method for calculating \(g(\vec{x})\) together with \(\nabla g(\vec{x})\).
[in] | x | evaluation point \(\vec{x} \in [0, 1]^d\) |
[out] | value | \(g(\vec{x})\) |
[out] | gradient | gradient \(\nabla g(\vec{x}) \in \mathbb{R}^{m \times d}\) |
Implemented in sgpp::optimization::InterpolantVectorFunctionGradient, and sgpp::optimization::WrapperVectorFunctionGradient.
Referenced by sgpp::optimization::ComponentScalarFunctionGradient::eval(), and ~VectorFunctionGradient().
|
inline |
|
inline |
References d.
|
protected |
dimension of the domain
Referenced by sgpp::optimization::WrapperVectorFunctionGradient::clone(), sgpp::optimization::InterpolantVectorFunctionGradient::eval(), and getNumberOfParameters().
|
protected |
number of components
Referenced by sgpp::optimization::WrapperVectorFunctionGradient::clone(), and getNumberOfComponents().