| 
    Optimist
    0.0.0
    
   A C++ library for optimization 
   | 
 
Class container for the extended Rosenbrock function. More...
#include <Rosenbrock.hh>
Inherits Optimist::Function< Real, N, N, Rosenbrock< Real, N > >.
Public Types | |
| using | Vector = typename Function<Real, N, N, Rosenbrock<Real, N>>::InputVector | 
| using | Matrix = typename Function<Real, N, N, Rosenbrock<Real, N>>::Matrix | 
| using | Tensor = typename Function<Real, N, N, Rosenbrock<Real, N>>::Tensor | 
| Public Types inherited from Optimist::Function< Real, N, N, Rosenbrock< Real, N > > | |
| using | InputVector | 
| using | OutputVector | 
| using | Matrix | 
| using | Tensor | 
| Public Types inherited from Optimist::FunctionBase< Real, N, M, Rosenbrock< Real, N >, false > | |
| 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 | 
| Public Member Functions inherited from Optimist::Function< Real, N, N, Rosenbrock< Real, N > > | |
| 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, Rosenbrock< Real, N >, 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 | 
Additional Inherited Members | |
| Protected Attributes inherited from Optimist::FunctionBase< Real, N, M, Rosenbrock< Real, N >, false > | |
| 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 Function<Real, N, N, Rosenbrock<Real, N>>::Matrix | 
| using Optimist::TestSet::Rosenbrock< Real, N >::Tensor = typename Function<Real, N, N, Rosenbrock<Real, N>>::Tensor | 
| using Optimist::TestSet::Rosenbrock< Real, N >::Vector = typename Function<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. |