gsl_mmin_conp Class Template Reference

#include <gsl_mmin_conp.h>

Inheritance diagram for gsl_mmin_conp:

gsl_mmin_conf gsl_mmin_base multi_min< param_t, func_t, func_t, vec_t > gsl_mmin_conp_array

Detailed Description

template<class param_t, class func_t = multi_funct<param_t>, class vec_t = ovector_view, class alloc_vec_t = ovector, class alloc_t = ovector_alloc, class dfunc_t = grad_funct<param_t,ovector_view>, class auto_grad_t = gradient<param_t,func_t,ovector_view>, class def_auto_grad_t = simple_grad<param_t,func_t,ovector_view>>
class gsl_mmin_conp< param_t, func_t, vec_t, alloc_vec_t, alloc_t, dfunc_t, auto_grad_t, def_auto_grad_t >

Multidimensional minimization by the Polak-Ribiere conjugate gradient algorithm (GSL).

The variable multi_min::tolf is used as the maximum value of the gradient and is $ 10^{-4} $ be default.

The gsl iterate() function for this minimizer chooses to return GSL_ENOPROG if the iteration fails to make progress without calling the error handler. This is presumably because the iterate() function can fail to make progress when the algorithm has succeeded in finding the minimum. I prefer to return a non-zero value from a function only in cases where the error handler will also be called, so the user is clear on what an "error" means in the local context. Thus if iterate() is failing to make progress, instead of returning a non-zero value, it sets the value of it_info to a non-zero value.

Todo:
A bit of needless copying is required in the function wrapper to convert from gsl_vector to the templated vector type. This can be fixed.
Todo:
Document stopping conditions

Definition at line 63 of file gsl_mmin_conp.h.


Public Member Functions

virtual int iterate ()
 Perform an iteration.
virtual const char * type ()
 Return string denoting type("gsl_mmin_conp").

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

Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page