naginterfaces.library.quad.dim1_inf_general¶
- naginterfaces.library.quad.dim1_inf_general(f, bound, inf, epsabs, epsrel, maxsub, data=None)[source]¶
dim1_inf_general
calculates an approximation to the integral of a function over an infinite or semi-infinite interval :For full information please refer to the NAG Library document for d01rm
https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/d01/d01rmf.html
- Parameters
- fcallable (fv, iflag) = f(x, iflag, data=None)
must return the values of the integrand at a set of points.
- Parameters
- xfloat, ndarray, shape
The abscissae, , for , at which function values are required.
- iflagint
.
- dataarbitrary, optional, modifiable in place
User-communication data for callback functions.
- Returns
- fvfloat, array-like, shape
must contain the values of the integrand . for all .
- iflagint
Set to force an immediate exit with = -1.
- boundfloat
The finite limit of the integration range (if present). is not used if the interval is doubly infinite.
- infint
Indicates the kind of integration range.
The range is .
The range is .
The range is .
- epsabsfloat
, the absolute accuracy required. If is negative, . See Accuracy.
- epsrelfloat
, the relative accuracy required. If is negative, . See Accuracy.
- maxsubint
, the upper bound on the total number of subdivisions
dim1_inf_general
may use to generate new segments. If , only the initial segment will be evaluated.Suggested value: a value in the range to is adequate for most problems.
- dataarbitrary, optional
User-communication data for callback functions.
- Returns
- resultfloat
The approximation to the integral .
- abserrfloat
An estimate of the modulus of the absolute error, which should be an upper bound for .
- rinfofloat, ndarray, shape
Details of the computation. See Further Comments for more information.
- iinfoint, ndarray, shape
Details of the computation. See Further Comments for more information.
- Raises
- NagValueError
- (errno )
On entry, .
Constraint: , or .
- (errno )
On entry, .
Constraint: .
- Warns
- NagAlgorithmicWarning
- (errno )
Exit from with .
- (errno )
The maximum number of subdivisions () has been reached: .
- (errno )
Round-off error prevents the requested tolerance from being achieved: and .
- (errno )
Extremely bad integrand behaviour occurs around the sub-interval .
- (errno )
Round-off error is detected in the extrapolation table.
- (errno )
The integral is probably divergent or slowly convergent.
- Notes
dim1_inf_general
is based on the QUADPACK routine QAGI (see Piessens et al. (1983)). The entire infinite integration range is first transformed to using one of the identities:where represents a finite integration limit. An adaptive procedure, based on the Gauss -point and Kronrod -point rules, is then employed on the transformed integral. The algorithm, described in de Doncker (1978), incorporates a global acceptance criterion (as defined by Malcolm and Simpson (1976)) together with the -algorithm (see Wynn (1956)) to perform extrapolation. The local error estimation is described in Piessens et al. (1983).
dim1_inf_general
requires you to supply a function to evaluate the integrand at an array of points.
- References
de Doncker, E, 1978, An adaptive extrapolation algorithm for automatic integration, ACM SIGNUM Newsl. (13(2)), 12–18
Malcolm, M A and Simpson, R B, 1976, Local versus global strategies for adaptive quadrature, ACM Trans. Math. Software (1), 129–146
Piessens, R, de Doncker–Kapenga, E, Überhuber, C and Kahaner, D, 1983, QUADPACK, A Subroutine Package for Automatic Integration, Springer–Verlag
Wynn, P, 1956, On a device for computing the transformation, Math. Tables Aids Comput. (10), 91–96