Optimist
0.0.0
A C++ library for optimization
|
Class container for the extended Rosenbrock function. More...
#include <Rosenbrock.hh>
Inherits Optimist::VectorFunction< Real, N, N, Rosenbrock< Real, N > >.
Public Types | |
using | Vector = typename VectorFunction<Real, N, N, Rosenbrock<Real, N>>::InputVector |
using | Matrix = typename VectorFunction<Real, N, N, Rosenbrock<Real, N>>::Matrix |
using | Tensor = typename VectorFunction<Real, N, N, Rosenbrock<Real, N>>::Tensor |
![]() | |
using | InputVector |
using | OutputVector |
using | Matrix |
using | Tensor |
![]() | |
using | InputType |
using | OutputType |
using | FirstDerivativeType |
using | SecondDerivativeType |
Public Member Functions | |
Rosenbrock () | |
std::string | name_impl () const |
void | evaluate_impl (const Vector &x, Vector &out) const |
void | first_derivative_impl (const Vector &x, Matrix &out) const |
void | second_derivative_impl (const Vector &, Tensor &out) const |
![]() | |
VectorFunction () | |
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 |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
friend | Function< Real, N, M, VectorFunction< Real, N, M, DerivedFunction > > |
![]() | |
std::vector< InputType > | m_solutions |
std::vector< InputType > | m_guesses |
Class container for the extended Rosenbrock function, which defined as:
\[\mathbf{f}(\mathbf{x}) = \begin{bmatrix} 10(x_2 - x_1^2) \\ 1 - x_1 \\ 10(x_4 - x_3^2) \\ 1 - x_3 \\ \vdots \\ 10(x_N - x_{N-1}^2) \\ 1 - x_{N-1} \end{bmatrix} \text{.} \]
The function has one solution at \(\mathbf{x} = [1, \dots 1]^\top\), with \(f(\mathbf{x}) = 0\). The initial guess is \(x_i = [-1.2, 1, -1.2, 1, \dots, -1.2, 1]^\top\).
Real | Scalar number type. |
N | Dimension of the function. |
using Optimist::TestSet::Rosenbrock< Real, N >::Matrix = typename VectorFunction<Real, N, N, Rosenbrock<Real, N>>::Matrix |
using Optimist::TestSet::Rosenbrock< Real, N >::Tensor = typename VectorFunction<Real, N, N, Rosenbrock<Real, N>>::Tensor |
using Optimist::TestSet::Rosenbrock< Real, N >::Vector = typename VectorFunction<Real, N, N, Rosenbrock<Real, N>>::InputVector |
< Basic constants.
|
inline |
Class constructor for the extended Rosenbrock 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. |