![]() |
Object-oriented Scientific Computing Library: Version 0.910
|
Cauchy principal value integration (CERNLIB) More...
#include <cern_cauchy.h>
The location of the singularity must be specified before-hand in cern_cauchy::s, and the singularity must not be at one of the endpoints. Note that when integrating a function of the form , the denominator
must be specified in the argument
func
to integ(). This is different from how the gsl_inte_qawc operates.
The method from Longman58 is used for the decomposition of the integral, and the resulting integrals are computed using a user-specified base integration object.
The uncertainty in the integral is not calculated, and is always given as zero. The default base integration object is of type cern_gauss. This is the CERNLIB default, but can be modified by calling set_inte(). If the singularity is outside the region of integration, then the result from the base integration object is returned without calling the error handler.
Possible errors for integ() and integ_err():
This function is based on the CERNLIB routines RCAUCH and DCAUCH which are documented at http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/d104/top.html
Definition at line 63 of file cern_cauchy.h.
Public Member Functions | |
int | set_inte (inte< func_t > &i) |
Set the base integration object to use (default is cern_cauchy::def_inte of type cern_gauss) | |
virtual int | integ_err (func_t &func, double a, double b, double &res, double &err) |
Integrate function func from a to b giving result res and error err . | |
virtual double | integ (func_t &func, double a, double b) |
Integrate function func from a to b . | |
Data Fields | |
double | s |
The singularity (must be set before calling integ() or integ_err()) | |
cern_gauss< func_t > | def_inte |
Default integration object. | |
Protected Attributes | |
inte< func_t > * | it |
The base integration object. | |
Integration constants | |
double | x [12] |
double | w [12] |
Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).