#include <cern_root.h>
x1
and x2
such that
The variable cern_root::tolx defaults to and cern_root::ntrial defaults to 200.
The function solve_bkt() returns 0 for success, gsl_einval if the root is not initially bracketed, and gsl_emaxiter if the number of function evaluations is greater than cern_root::ntrial.
Based on the CERNLIB routines RZEROX and DZEROX, which was based on Bus75 and is documented at http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/c200/top.html
Definition at line 61 of file cern_root.h.
Public Member Functions | |
int | set_mode (int m) |
Set mode of solution (1 or 2). | |
virtual const char * | type () |
Return the type, "cern_root" . | |
virtual int | solve_bkt (double &x1, double x2, param_t &pa, func_t &func) |
Solve func in region ![]() ![]() | |
Protected Member Functions | |
double | sign (double a, double b) |
FORTRAN-like function for sign. | |
Protected Attributes | |
int | mode |
Internal storage for the mode. |
int set_mode | ( | int | m | ) | [inline] |
1
should be used for simple functions where the cost is inexpensive in comparison to one iteration of solve_bkt(), or functions which have a pole near the root (this is the default).2
should be used for more time-consuming functions.
If an integer other than 1
or 2
is specified, 1
is assumed.
Definition at line 112 of file cern_root.h.
virtual int solve_bkt | ( | double & | x1, | |
double | x2, | |||
param_t & | pa, | |||
func_t & | func | |||
) | [inline, virtual] |
The parameters x1
and x2
should be set so that before calling solve_bkt(). If this is not the case, the error handler will be called and the solver will fail.
This function converges unless the number of iterations is larger than root::ntrial, in which case root::last_conv is set to gsl_emaxiter and the error handler is called if root::err_nonconv is true.
Implements root_bkt.
Definition at line 138 of file cern_root.h.
int mode [protected] |
This internal variable is actually defined to be smaller by 1 than the "mode" as it is defined in the CERNLIB documentation in order to avoid needless subtraction in solve_bkt().
Definition at line 80 of file cern_root.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