#include <cern_minimize.h>
This is rewritten from the CERNLIB routine D503:
minfc.f
.
The golden section search is applied in the interval using a fixed number
of function evaluations where
The accuracy depends on the function. A choice of usually results in a relative error of $x$ which is smaller than or of the order of
.
This routine strictly searches the interval . If the function is nowhere flat in this interval, then min_bkt() will return either
or
and min_type is set to 1.
Definition at line 60 of file cern_minimize.h.
Public Member Functions | |
cern_minimize () | |
int | nint (double x) |
virtual int | min_bkt (double &x, double a, double b, double &y, param_t &pa, func_t &func) |
Calculate the minimum min of func between a and b . | |
int | set_delta (double d) |
Set the value of ![]() | |
virtual const char * | type () |
Return string denoting type ("cern_minimize"). | |
Data Fields | |
int | min_type |
Type of minimum found. | |
Protected Attributes | |
double | delta |
The value of delta as specified by the user. | |
bool | delta_set |
True if the value of delta has been set. |
virtual int min_bkt | ( | double & | x, | |
double | a, | |||
double | b, | |||
double & | y, | |||
param_t & | pa, | |||
func_t & | func | |||
) | [inline, virtual] |
Calculate the minimum min
of func
between a
and b
.
The initial value of x
is ignored.
If there is no minimum in the given interval, then on exit x
will be equal to either a
or b
and min_type will be set to 1 instead of zero. The error handler is not called, as this need not be interpreted as an error.
Reimplemented from minimize< param_t, func_t >.
Definition at line 87 of file cern_minimize.h.
int set_delta | ( | double | d | ) | [inline] |
Set the value of .
If this is not called before min_bkt() is used, then the suggested value is used.
Definition at line 158 of file cern_minimize.h.
Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.
Project hosting provided by
,
O2scl Sourceforge Project Page