One-dimensional minimization [abstract base]. More...
#include <min.h>
Public Member Functions | |
| virtual int | print_iter (double x, double y, int iter, double value=0.0, double limit=0.0, std::string comment="") |
| Print out iteration information. More... | |
| virtual int | min (double &x, double &fmin, func_t &func)=0 |
Calculate the minimum min of func w.r.t 'x'. More... | |
| virtual int | min_bkt (double &x2, double x1, double x3, double &fmin, func_t &func)=0 |
Calculate the minimum min of func with x2 bracketed between x1 and x3. More... | |
| virtual int | min_de (double &x, double &fmin, func_t &func, dfunc_t &df)=0 |
Calculate the minimum min of func with derivative dfunc w.r.t 'x'. More... | |
| virtual int | bracket (double &ax, double &bx, double &cx, double &fa, double &fb, double &fc, func_t &func) |
Given interval (ax,bx), attempt to bracket a minimum for function func. More... | |
| virtual const char * | type () |
| Return string denoting type ("min") | |
Public Attributes | |
| int | verbose |
| Output control. | |
| int | ntrial |
| Maximum number of iterations. | |
| double | tol_rel |
| The tolerance for the minimum function value. | |
| double | tol_abs |
| The tolerance for the location of the minimum. | |
| int | last_ntrial |
| The number of iterations used in the most recent minimization. | |
| int | bracket_iter |
| The number of iterations for automatically bracketing a minimum (default 20) | |
| bool | err_nonconv |
| If true, call the error handler if the routine does not "converge". | |
|
inlinevirtual |
Upon success, fa=func(ax), fb=func(bx), and fc=func(cx) with fb<fa, fb<fc and ax<bx<cx. The initial values of cx, fa, fb, and fc are all ignored.
The number of iterations is controlled by bracket_iter.
, or if the function has the same value at ax, bx, and the midpoint (ax+bx)/2.
|
pure virtual |
If this is not overloaded, it attempts to bracket the minimum using bracket() and then calls min_bkt() with the newly bracketed minimum.
Implemented in o2scl::min_bkt_base< funct >, o2scl::min_de_base< func_t, dfunc_t >, and o2scl::min_bkt_base< func_t, dfunc_t >.
|
pure virtual |
If this is not overloaded, it ignores the bracket and calls min().
Implemented in o2scl::min_bkt_base< funct >, o2scl::min_de_base< func_t, dfunc_t >, and o2scl::min_bkt_base< func_t, dfunc_t >.
|
pure virtual |
If this is not overloaded, it attempts to bracket the minimum using bracket() and then calls min_bkt_de() with the newly bracketed minimum.
Implemented in o2scl::min_bkt_base< funct >.
|
inlinevirtual |
Depending on the value of the variable verbose, this prints out the iteration information. If verbose=0, then no information is printed, while if verbose>1, then after each iteration, the present values of x and y are output to std::cout along with the iteration number. If verbose>=2 then each iteration waits for a character.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).