Optimist
0.0.0
A C++ library for optimization
|
Class container for the paraboloid function. More...
#include <EllipticParaboloid.hh>
Inherits Optimist::CostFunction< Real, 2, EllipticParaboloid< Real > >.
Public Types | |
using | Vector = typename CostFunction<Real, 2, EllipticParaboloid<Real>>::Vector |
using | RowVector = typename CostFunction<Real, 2, EllipticParaboloid<Real>>::RowVector |
using | Matrix = typename CostFunction<Real, 2, EllipticParaboloid<Real>>::Matrix |
![]() | |
using | Vector |
using | RowVector |
using | Matrix |
![]() | |
using | InputType |
using | OutputType |
using | FirstDerivativeType |
using | SecondDerivativeType |
Public Member Functions | |
EllipticParaboloid () | |
std::string | name_impl () const |
void | evaluate_impl (const Vector &x, Real &out) const |
void | first_derivative_impl (const Vector &x, RowVector &out) const |
void | second_derivative_impl (const Vector &, Matrix &out) const |
![]() | |
CostFunction () | |
std::string | name () const |
void | evaluate (const Vector &x, Vector &out) const |
void | gradient (const Vector &x, RowVector &out) const |
void | hessian (const Vector &x, Matrix &out) const |
![]() | |
Function () | |
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 |
Private Attributes | |
Real | m_a {1.0} |
Real | m_b {1.0} |
Additional Inherited Members | |
![]() | |
friend | Function< Real, N, 1, CostFunction< Real, N, DerivedFunction > > |
![]() | |
std::vector< InputType > | m_solutions |
std::vector< InputType > | m_guesses |
Class container for the paraboloid function, which is defined as:
f(\mathbf{x}) = ax^2 + by^2 \text{.}
The function has global minima at \mathbf{x} = (0, 0), with f(\mathbf{x}) = 0. The initial guesses are generated on the square x_i \in \left[-100, 100\right].
Real | Scalar number type. |
using Optimist::TestSet::EllipticParaboloid< Real >::Matrix = typename CostFunction<Real, 2, EllipticParaboloid<Real>>::Matrix |
using Optimist::TestSet::EllipticParaboloid< Real >::RowVector = typename CostFunction<Real, 2, EllipticParaboloid<Real>>::RowVector |
using Optimist::TestSet::EllipticParaboloid< Real >::Vector = typename CostFunction<Real, 2, EllipticParaboloid<Real>>::Vector |
< Basic constants.
|
inline |
Class constructor for the paraboloid function.
|
inline |
Compute the function value at the input point.
[in] | x | Input point. |
[out] | out | The function value. |
|
inline |
Compute the first derivative value at the input point.
[in] | x | Input point. |
[out] | out | The first derivative value. |
|
inline |
Get the function name.
|
inline |
Compute the second derivative value at the input point.
[in] | x | Input point. |
[out] | out | The second derivative value. |
|
private |
Coefficient a .
|
private |
Coefficient b .