naginterfaces.library.quad.dim1_​fin_​osc_​fn

naginterfaces.library.quad.dim1_fin_osc_fn(f, a, b, epsabs, epsrel, maxsub, key=6, data=None)[source]

dim1_fin_osc_fn is an adaptive integrator, especially suited to oscillating, nonsingular integrands, which calculates an approximation to the integral of a function over a finite interval :

For full information please refer to the NAG Library document for d01rk

https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/d01/d01rkf.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.

afloat

, the lower limit of integration.

bfloat

, the upper limit of integration. It is not necessary that .

Note: if , the function will immediately return with , , and .

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_fin_osc_fn 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.

keyint, optional

Indicates which integration rule is to be used. The number of function evaluations required for an integral estimate over any segment will be the number of Kronrod points, .

For the Gauss -point and Kronrod -point rule.

For the Gauss -point and Kronrod -point rule.

For the Gauss -point and Kronrod -point rule.

For the Gauss -point and Kronrod -point rule.

For the Gauss -point and Kronrod -point rule.

For the Gauss -point and Kronrod -point rule.

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 .

Notes

dim1_fin_osc_fn is based on the QUADPACK routine QAG (see Piessens et al. (1983)). It is an adaptive function, offering a choice of six Gauss–Kronrod rules. A ‘global’ acceptance criterion (as defined by Malcolm and Simpson (1976)) is used. The local error estimation is described in Piessens et al. (1983).

Because dim1_fin_osc_fn is based on integration rules of high order, it is especially suitable for nonsingular oscillating integrands.

dim1_fin_osc_fn 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