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

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>

Inheritance diagram for sgpp::base::VectorFunction:
sgpp::base::InterpolantVectorFunction sgpp::base::WrapperVectorFunction sgpp::optimization::test_problems::TestVectorFunction sgpp::optimization::test_problems::FloudasEqualityConstraint sgpp::optimization::test_problems::FloudasInequalityConstraint sgpp::optimization::test_problems::G03EqualityConstraint sgpp::optimization::test_problems::G03InequalityConstraint sgpp::optimization::test_problems::G04EqualityConstraint sgpp::optimization::test_problems::G04InequalityConstraint sgpp::optimization::test_problems::G04SquaredEqualityConstraint sgpp::optimization::test_problems::G04SquaredInequalityConstraint sgpp::optimization::test_problems::G05EqualityConstraint sgpp::optimization::test_problems::G05InequalityConstraint sgpp::optimization::test_problems::G06EqualityConstraint sgpp::optimization::test_problems::G06InequalityConstraint sgpp::optimization::test_problems::G08EqualityConstraint sgpp::optimization::test_problems::G08InequalityConstraint sgpp::optimization::test_problems::G09EqualityConstraint sgpp::optimization::test_problems::G09InequalityConstraint sgpp::optimization::test_problems::G10EqualityConstraint sgpp::optimization::test_problems::G10InequalityConstraint sgpp::optimization::test_problems::G11EqualityConstraint sgpp::optimization::test_problems::G11InequalityConstraint sgpp::optimization::test_problems::G12EqualityConstraint sgpp::optimization::test_problems::G12InequalityConstraint sgpp::optimization::test_problems::G13EqualityConstraint sgpp::optimization::test_problems::G13InequalityConstraint sgpp::optimization::test_problems::SimionescuEqualityConstraint sgpp::optimization::test_problems::SimionescuInequalityConstraint sgpp::optimization::test_problems::SolandEqualityConstraint sgpp::optimization::test_problems::SolandInequalityConstraint

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
 

Detailed Description

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).

Constructor & Destructor Documentation

◆ VectorFunction()

sgpp::base::VectorFunction::VectorFunction ( size_t  d,
size_t  m 
)
inline

Constructor.

Parameters
ddimension of the domain
mnumber of components

◆ ~VectorFunction()

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

Destructor.

Member Function Documentation

◆ clone()

virtual void sgpp::base::VectorFunction::clone ( std::unique_ptr< VectorFunction > &  clone) const
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).

Parameters
[out]clonepointer 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.

◆ eval() [1/2]

virtual void sgpp::base::VectorFunction::eval ( const DataMatrix x,
DataMatrix value 
)
inlinevirtual

Convenience method for calculating \(g(\vec{x})\) for multiple \(\vec{x}\).

Parameters
xmatrix \(\vec{x} \in [0, 1]^{N \times d}\) of evaluation points (row-wise)
[out]valuematrix 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().

◆ eval() [2/2]

virtual void sgpp::base::VectorFunction::eval ( const DataVector x,
DataVector value 
)
pure virtual

Pure virtual method for calculating \(g(\vec{x})\).

Parameters
[in]xevaluation 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().

◆ getNumberOfComponents()

size_t sgpp::base::VectorFunction::getNumberOfComponents ( ) const
inline
Returns
number \(m\) of components

References m.

◆ getNumberOfParameters()

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

References d.

Member Data Documentation

◆ d

◆ m

size_t sgpp::base::VectorFunction::m
protected

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