o2scl::mmin_linmin_gsl Class Reference

The line minimizer for mmin_bfgs2. More...

`#include <mmin_bfgs2.h>`

Public Member Functions

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

Protected Member Functions

double interp_quad (double f0, double fp0, double f1, double zl, double zh)
Minimize the interpolating quadratic. More...

double cubic (double c0, double c1, double c2, double c3, double z)
Minimize the interpolating cubic. More...

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.

Detailed Description

Definition at line 290 of file mmin_bfgs2.h.

◆ cubic()

 double o2scl::mmin_linmin_gsl::cubic ( double c0, double c1, double c2, double c3, double z )
protected

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).

 double o2scl::mmin_linmin_gsl::interp_quad ( double f0, double fp0, double f1, double zl, double zh )
protected

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

◆ minimize()

 int o2scl::mmin_linmin_gsl::minimize ( mmin_wrap_gsl & wrap, double rho, double sigma, double tau1, double tau2, double tau3, int order, double alpha1, double * alpha_new )

Recommended values from Fletcher87 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. Provided under the GNU Free Documentation License (see License Information).