![]() |
Object-oriented Scientific Computing Library: Version 0.910
|
One-dimensional minimization (CERNLIB) More...
#include <cern_minimize.h>
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. Note that if there are more than 1 local minima in the specified interval, there is no guarantee that this method will find the global minimum.
Based on the CERNLIB routines RMINFC and DMINFC, which was based on Fletcher87, and Krabs83 and is documented at http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/d503/top.html
Definition at line 69 of file cern_minimize.h.
Public Member Functions | |
virtual int | min_bkt (double &x, double a, double b, double &y, 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 Member Functions | |
int | nint (double x) |
C analog of Fortran's "Nearest integer" function. | |
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 cern_minimize< func_t >::min_bkt | ( | double & | x, |
double | a, | ||
double | b, | ||
double & | y, | ||
func_t & | func | ||
) | [inline, virtual] |
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.
Implements minimize_bkt< func_t, dfunc_t >.
Definition at line 106 of file cern_minimize.h.
int cern_minimize< func_t >::set_delta | ( | double | d | ) | [inline] |
If this is not called before min_bkt() is used, then the suggested value is used.
Definition at line 183 of file cern_minimize.h.
Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).