Object-oriented Scientific Computing Library: Version 0.910
Public Member Functions | Data Fields | Protected Attributes
cern_cauchy< func_t > Class Template Reference

Cauchy principal value integration (CERNLIB) More...

#include <cern_cauchy.h>

Inheritance diagram for cern_cauchy< func_t >:
inte< func_t >

Detailed Description

template<class func_t>
class cern_cauchy< func_t >

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 $ \frac{f(x)}{(x-s)} $, the denominator $ (x-s) $ 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]

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).

Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads.