Optimist  0.0.0
A C++ library for optimization
Loading...
Searching...
No Matches
Optimist::Function< Input, Output, DerivedFunction > Class Template Reference

Class container for the vector-valued function (both input and output are vectors). More...

#include <Function.hh>

Inherits Optimist::FunctionBase< Input, Output, DerivedFunction >.

Public Member Functions

 Function ()
constexpr std::string name () const
bool evaluate (const Input &x, Output &out) const
bool jacobian (const Input &x, FirstDerivative &out) const
bool hessian (const Input &x, SecondDerivative &out) const
Public Member Functions inherited from Optimist::FunctionBase< Input, Output, DerivedFunction >
 FunctionBase ()
constexpr std::string name () const
bool evaluate (const Input &x, Output &out) const
bool first_derivative (const Input &x, FirstDerivative &out) const
bool second_derivative (const Input &x, SecondDerivative &out) const
constexpr Integer input_dimension () const
constexpr Integer output_dimension () const
const std::vector< Input > & solutions () const
const std::vector< Input > & guesses () const
const Input & solution (const Integer i) const
const Input & guess (const Integer i) const
bool is_solution (const Input &x, const Scalar tol=FunctionBase::SQRT_EPSILON) const

Friends

class FunctionBase< Input, Output, DerivedFunction >

Additional Inherited Members

Public Types inherited from Optimist::FunctionBase< Input, Output, DerivedFunction >
using InputTrait = TypeTrait<Input>
using OutputTrait = TypeTrait<Output>
using Scalar = typename InputTrait::Scalar
using FirstDerivative
using SecondDerivative
Protected Attributes inherited from Optimist::FunctionBase< Input, Output, DerivedFunction >
std::vector< Input > m_solutions
std::vector< Input > m_guesses

Detailed Description

template<typename Input, typename Output, typename DerivedFunction>
class Optimist::Function< Input, Output, DerivedFunction >
Template Parameters
InputFunction input type.
OutputFunction output type.
DerivedFunctionDerived function class.

Constructor & Destructor Documentation

◆ Function()

template<typename Input, typename Output, typename DerivedFunction>
Optimist::Function< Input, Output, DerivedFunction >::Function ( )
inline

Class constructor for the vector-valued function.

Member Function Documentation

◆ evaluate()

template<typename Input, typename Output, typename DerivedFunction>
bool Optimist::Function< Input, Output, DerivedFunction >::evaluate ( const Input & x,
Output & out ) const
inline

Compute the function value at the input point.

Parameters
[in]xInput point.
[out]outThe function value.
Returns
The boolean flag for successful evaluation.

◆ hessian()

template<typename Input, typename Output, typename DerivedFunction>
bool Optimist::Function< Input, Output, DerivedFunction >::hessian ( const Input & x,
SecondDerivative & out ) const
inline

Compute the function second derivative at the input point.

Parameters
[in]xInput point.
[out]outThe function second derivative.
Returns
The boolean flag for successful evaluation.

◆ jacobian()

template<typename Input, typename Output, typename DerivedFunction>
bool Optimist::Function< Input, Output, DerivedFunction >::jacobian ( const Input & x,
FirstDerivative & out ) const
inline

Compute the function first derivative at the input point.

Parameters
[in]xInput point.
[out]outThe function first derivative.
Returns
The boolean flag for successful evaluation.

◆ name()

template<typename Input, typename Output, typename DerivedFunction>
std::string Optimist::Function< Input, Output, DerivedFunction >::name ( ) const
inlineconstexpr

Get the function name.

Returns
The function name.

◆ FunctionBase< Input, Output, DerivedFunction >

template<typename Input, typename Output, typename DerivedFunction>
friend class FunctionBase< Input, Output, DerivedFunction >
friend

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