XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ deiint()

void deiint ( double(*)(double)  f,
double  eps,
double *  result,
int *  neval,
int *  info 
)

Infinite interval automatic quadrature (double exponential (DE) formula)

Purpose
This routine computes the integral of f(x) over [-∞, +∞], satisfying the requested accuracy, where f(x) is a given function defined by a user supplied subroutine f.
The result is obtained by the automatic integration applying the double exponential (DE) formula.

The double exponential (DE) formulas (see defint) for infinite interval [-∞, +∞] is obtained by using the following transformation function.
φ(t) = sinh((π/2)sinh(t))
This formula is suitable for the slowly decaying functions.
Parameters
[in]fThe user supplied subroutine which calculates the integrand function f(x) defined as follows.
double f(double x)
{
return computed f(x) value
}
[in]epsAbsolute accuracy requested.
max(|eps|, 1.0e-32) is used as the tolerance.
[out]resultApproximation to integral of f(x) over [-inf, +inf].
[out]nevalNumber of integrand evaluations.
[out]info= 0: Successful exit
= 1: Slow decay on negative side
= 2: Slow decay on positive side
= 3: Both of above
= 4: Insufficient mesh refinement
Reference
Masatake Mori "FORTRAN77 Numerical Calculation Programming (augmented edition)" Iwanami Shoten, 1987. (Japanese book)