aimstil  5.0.5
til::Powell< TFunctor, TLineMin > Class Template Reference

Powell multidimensional minimization. More...

#include <cathier/minTools.h>

Inheritance diagram for til::Powell< TFunctor, TLineMin >:
Collaboration diagram for til::Powell< TFunctor, TLineMin >:

Public Types

typedef detail::IterativeMininizationAlgorithm_basis< TFunctor > Basis
 
typedef Basis::input_type input_type
 
typedef Basis::input_prec input_prec
 
typedef Basis::output_prec output_prec
 
- Public Types inherited from til::detail::IterativeMininizationAlgorithm_basis< TFunctor >
typedef TFunctor::argument_type input_type
 
typedef value_type_of< input_type >::type input_prec
 
typedef TFunctor::result_type output_prec
 

Public Member Functions

 Powell (TFunctor functor)
 
void init ()
 Default initialization. More...
 
std::vector< input_prec > & initStd ()
 
input_type operator() (input_type p)
 Minimize starting from p. More...
 
- Public Member Functions inherited from til::detail::IterativeMininizationAlgorithm_basis< TFunctor >
 IterativeMininizationAlgorithm_basis (TFunctor functor)
 
output_precftol ()
 
output_prec const & ftol () const
 
unsigned int & maxIter ()
 
unsigned int const & maxIter () const
 
unsigned int & nIter ()
 
unsigned int const & nIter () const
 
TFunctor & functor ()
 
TFunctor const & functor () const
 
input_precmin_step ()
 
input_prec const & min_step () const
 

Detailed Description

template<typename TFunctor, typename TLineMin = LineMin<TFunctor>>
class til::Powell< TFunctor, TLineMin >

Powell multidimensional minimization.

NB: TFunctor should be a stl-compliant unary functor. Furthermore, it is assumed here that its argument is a random-access array of floating point numbers. E.g. arrays of 2D or 3D vectors, or arrays of complex numbers, are invalid argument types here.

Definition at line 504 of file minTools.h.

Member Typedef Documentation

◆ Basis

template<typename TFunctor , typename TLineMin = LineMin<TFunctor>>
typedef detail::IterativeMininizationAlgorithm_basis<TFunctor> til::Powell< TFunctor, TLineMin >::Basis

Definition at line 508 of file minTools.h.

◆ input_prec

template<typename TFunctor , typename TLineMin = LineMin<TFunctor>>
typedef Basis::input_prec til::Powell< TFunctor, TLineMin >::input_prec

Definition at line 510 of file minTools.h.

◆ input_type

template<typename TFunctor , typename TLineMin = LineMin<TFunctor>>
typedef Basis::input_type til::Powell< TFunctor, TLineMin >::input_type

Definition at line 509 of file minTools.h.

◆ output_prec

template<typename TFunctor , typename TLineMin = LineMin<TFunctor>>
typedef Basis::output_prec til::Powell< TFunctor, TLineMin >::output_prec

Definition at line 511 of file minTools.h.

Constructor & Destructor Documentation

◆ Powell()

template<typename TFunctor , typename TLineMin = LineMin<TFunctor>>
til::Powell< TFunctor, TLineMin >::Powell ( TFunctor  functor)
inlineexplicit

Definition at line 515 of file minTools.h.

Member Function Documentation

◆ init()

template<typename TFunctor , typename TLineMin = LineMin<TFunctor>>
void til::Powell< TFunctor, TLineMin >::init ( )
inline

Default initialization.

Set max number of iterations and and error tolerance to arbitrary but reasonable values.

Definition at line 529 of file minTools.h.

◆ initStd()

template<typename TFunctor , typename TLineMin = LineMin<TFunctor>>
std::vector<input_prec>& til::Powell< TFunctor, TLineMin >::initStd ( )
inline

Definition at line 537 of file minTools.h.

References til::Mnbrak< TFunctor >::operator()().

◆ operator()()

template<typename TFunctor , typename TLineMin = LineMin<TFunctor>>
input_type til::Powell< TFunctor, TLineMin >::operator() ( input_type  p)

Minimize starting from p.


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