Optimist
0.0.0
A C++ library for optimization
|
Class container for the vector-valued function. More...
#include <Function.hh>
Inherits Optimist::FunctionBase< Real, N, M, DerivedFunction, false >.
Public Types | |
using | InputVector = typename FunctionBase<Real, N, M, DerivedFunction, ForceEigen>::InputType |
using | OutputVector = typename FunctionBase<Real, N, M, DerivedFunction, ForceEigen>::OutputType |
using | Matrix = typename FunctionBase<Real, N, M, DerivedFunction, ForceEigen>::FirstDerivativeType |
using | Tensor = typename FunctionBase<Real, N, M, DerivedFunction, ForceEigen>::SecondDerivativeType |
Public Types inherited from Optimist::FunctionBase< Real, N, M, DerivedFunction, false > | |
using | InputType |
using | OutputType |
using | FirstDerivativeType |
using | SecondDerivativeType |
Public Member Functions | |
Function () | |
std::string | name () const |
void | evaluate (const InputVector &x, OutputVector &out) const |
void | jacobian (const InputVector &x, Matrix &out) const |
void | hessian (const InputVector &x, Tensor &out) const |
Public Member Functions inherited from Optimist::FunctionBase< Real, N, M, DerivedFunction, false > | |
FunctionBase () | |
std::string | name () const |
void | evaluate (const InputType &x, OutputType &out) const |
void | first_derivative (const InputType &x, FirstDerivativeType &out) const |
void | second_derivative (const InputType &x, SecondDerivativeType &out) const |
constexpr Integer | input_dimension () const |
constexpr Integer | output_dimension () const |
const std::vector< InputType > & | solutions () const |
const std::vector< InputType > & | guesses () const |
const InputType & | solution (const Integer i) const |
const InputType & | guess (const Integer i) const |
bool | is_solution (const InputType &x, const Real tol=EPSILON_LOW) const |
Friends | |
class | FunctionBase< Real, N, M, Function< Real, N, M, DerivedFunction, ForceEigen > > |
Additional Inherited Members | |
Protected Attributes inherited from Optimist::FunctionBase< Real, N, M, DerivedFunction, false > | |
std::vector< InputType > | m_solutions |
std::vector< InputType > | m_guesses |
N | The input dimension of the vector-valued function. |
M | The output dimension of the vector-valued function. |
DerivedFunction | Derived vector-valued function class. |
ForceEigen | Force the use of Eigen types for input and output. |
using Optimist::Function< Real, N, M, DerivedFunction, ForceEigen >::InputVector = typename FunctionBase<Real, N, M, DerivedFunction, ForceEigen>::InputType |
Input vector type.
using Optimist::Function< Real, N, M, DerivedFunction, ForceEigen >::Matrix = typename FunctionBase<Real, N, M, DerivedFunction, ForceEigen>::FirstDerivativeType |
Jacobian matrix type.
using Optimist::Function< Real, N, M, DerivedFunction, ForceEigen >::OutputVector = typename FunctionBase<Real, N, M, DerivedFunction, ForceEigen>::OutputType |
Output vector type.
using Optimist::Function< Real, N, M, DerivedFunction, ForceEigen >::Tensor = typename FunctionBase<Real, N, M, DerivedFunction, ForceEigen>::SecondDerivativeType |
Hessian tensor type.
|
inline |
Class constructor for the vector-valued function.
|
inline |
Compute the function value at the input point.
[in] | x | Input point. |
[out] | out | The function value. |
|
inline |
Compute the function second derivative at the input point.
[in] | x | Input point. |
[out] | out | The function second derivative. |
|
inline |
Compute the function first derivative at the input point.
[in] | x | Input point. |
[out] | out | The function first derivative. |
|
inline |
Get the function name.
|
friend |