gsl_mmin_linmin Class Reference

#include <gsl_mmin_bfgs2.h>


Detailed Description

The line minimizer for gsl_mmin_bfgs2.

Definition at line 307 of file gsl_mmin_bfgs2.h.


Public Member Functions

int minimize (gsl_mmin_wrap_base &wrap, double rho, double sigma, double tau1, double tau2, double tau3, int order, double alpha1, double *alpha_new)
 The line minimization.

Protected Member Functions

double interp_quad (double f0, double fp0, double f1, double zl, double zh)
 Minimize the interpolating quadratic.
double cubic (double c0, double c1, double c2, double c3, double z)
 Minimize the interpolating cubic.
void check_extremum (double c0, double c1, double c2, double c3, double z, double *zmin, double *fmin)
 Test to see curvature is positive.
double interp_cubic (double f0, double fp0, double f1, double fp1, double zl, double zh)
 Interpolate using a cubic.
double interpolate (double a, double fa, double fpa, double b, double fb, double fpb, double xmin, double xmax, int order)
 Perform the interpolation.

Member Function Documentation

double interp_quad ( double  f0,
double  fp0,
double  f1,
double  zl,
double  zh 
) [protected]

Minimize the interpolating quadratic.

Find a minimum in x=[0,1] of the interpolating quadratic through (0,f0) (1,f1) with derivative fp0 at x=0. The interpolating polynomial is q(x) = f0 + fp0 * z + (f1-f0-fp0) * z^2

double cubic ( double  c0,
double  c1,
double  c2,
double  c3,
double  z 
) [protected]

Minimize the interpolating cubic.

Find a minimum in x=[0,1] of the interpolating cubic through (0,f0) (1,f1) with derivatives fp0 at x=0 and fp1 at x=1.

The interpolating polynomial is:

c(x) = f0 + fp0 * z + eta * z^2 + xi * z^3

where eta=3*(f1-f0)-2*fp0-fp1, xi=fp0+fp1-2*(f1-f0).

int minimize ( gsl_mmin_wrap_base wrap,
double  rho,
double  sigma,
double  tau1,
double  tau2,
double  tau3,
int  order,
double  alpha1,
double *  alpha_new 
)

The line minimization.

recommended values from Fletcher are rho = 0.01, sigma = 0.1, tau1 = 9, tau2 = 0.05, tau3 = 0.5


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.