![]() |
SG++-Doxygen-Documentation
|
Abstract base class for vector-valued functions \(g\colon [0, 1]^d \to \mathbb{R}^m\) (e.g., equality/inequality constraints \(g(\vec{x}) \le \vec{0}\) or \(g(\vec{x}) = \vec{0}\) in optimization). More...
#include <VectorFunction.hpp>
Public Member Functions | |
virtual void | clone (std::unique_ptr< VectorFunction > &clone) const =0 |
Pure virtual method for cloning the function. | |
virtual void | eval (const DataMatrix &x, DataMatrix &value) |
Convenience method for calculating \(g(\vec{x})\) for multiple \(\vec{x}\). | |
virtual void | eval (const DataVector &x, DataVector &value)=0 |
Pure virtual method for calculating \(g(\vec{x})\). | |
size_t | getNumberOfComponents () const |
size_t | getNumberOfParameters () const |
VectorFunction (size_t d, size_t m) | |
Constructor. | |
virtual | ~VectorFunction () |
Destructor. | |
Protected Attributes | |
size_t | d |
dimension of the domain | |
size_t | m |
number of components | |
Abstract base class for vector-valued functions \(g\colon [0, 1]^d \to \mathbb{R}^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.
|
pure virtual |
Pure virtual method for cloning the function.
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::test_problems::FloudasInequalityConstraint, sgpp::optimization::test_problems::FloudasEqualityConstraint, sgpp::optimization::test_problems::G03InequalityConstraint, sgpp::optimization::test_problems::G03EqualityConstraint, sgpp::optimization::test_problems::G04InequalityConstraint, sgpp::optimization::test_problems::G04EqualityConstraint, sgpp::optimization::test_problems::G04SquaredInequalityConstraint, sgpp::optimization::test_problems::G04SquaredEqualityConstraint, sgpp::optimization::test_problems::G05InequalityConstraint, sgpp::optimization::test_problems::G05EqualityConstraint, sgpp::optimization::test_problems::G06InequalityConstraint, sgpp::optimization::test_problems::G06EqualityConstraint, sgpp::optimization::test_problems::G08InequalityConstraint, sgpp::optimization::test_problems::G08EqualityConstraint, sgpp::optimization::test_problems::G09InequalityConstraint, sgpp::optimization::test_problems::G09EqualityConstraint, sgpp::optimization::test_problems::G10InequalityConstraint, sgpp::optimization::test_problems::G10EqualityConstraint, sgpp::optimization::test_problems::G11InequalityConstraint, sgpp::optimization::test_problems::G11EqualityConstraint, sgpp::optimization::test_problems::G12InequalityConstraint, sgpp::optimization::test_problems::G12EqualityConstraint, sgpp::optimization::test_problems::G13InequalityConstraint, sgpp::optimization::test_problems::G13EqualityConstraint, sgpp::optimization::test_problems::SimionescuInequalityConstraint, sgpp::optimization::test_problems::SimionescuEqualityConstraint, sgpp::optimization::test_problems::SolandInequalityConstraint, sgpp::optimization::test_problems::SolandEqualityConstraint, sgpp::base::InterpolantVectorFunction, and sgpp::base::WrapperVectorFunction.
|
inlinevirtual |
Convenience method for calculating \(g(\vec{x})\) for multiple \(\vec{x}\).
x | matrix \(\vec{x} \in [0, 1]^{N \times d}\) of evaluation points (row-wise) | |
[out] | value | matrix of size \(N \times m\) where the \(k\)-th row is \(g(\vec{x}_k)\) (where \(\vec{x}_k\) is the \(k\)-th row of \(x\)) |
References d, eval(), sgpp::base::DataMatrix::getNrows(), sgpp::base::DataMatrix::getRow(), m, sgpp::base::DataMatrix::resize(), and sgpp::base::DataMatrix::setRow().
Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity().
|
pure virtual |
Pure virtual method for calculating \(g(\vec{x})\).
[in] | x | evaluation point \(\vec{x} \in [0, 1]^d\) |
[out] | value | \(g(\vec{x})\) |
Implemented in sgpp::optimization::test_problems::TestVectorFunction, sgpp::base::InterpolantVectorFunction, and sgpp::base::WrapperVectorFunction.
Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity(), eval(), and sgpp::base::ComponentScalarFunction::eval().
|
inline |
References m.
|
inline |
References d.
|
protected |
dimension of the domain
Referenced by sgpp::base::WrapperVectorFunction::clone(), sgpp::optimization::test_problems::TestVectorFunction::eval(), eval(), sgpp::base::InterpolantVectorFunction::eval(), sgpp::optimization::test_problems::G03EqualityConstraint::evalUndisplaced(), and getNumberOfParameters().
|
protected |
number of components
Referenced by sgpp::base::WrapperVectorFunction::clone(), eval(), and getNumberOfComponents().