naginterfaces.library.quad.dim1_fin_wtrig¶
- naginterfaces.library.quad.dim1_fin_wtrig(g, a, b, omega, key, epsabs, epsrel, lw=800, liw=None, data=None)[source]¶
dim1_fin_wtrig
calculates an approximation to the sine or the cosine transform of a function over :(for a user-specified value of ).
For full information please refer to the NAG Library document for d01an
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/d01/d01anf.html
- Parameters
- gcallable retval = g(x, data=None)
must return the value of the function at a given point .
- Parameters
- xfloat
The point at which the function must be evaluated.
- dataarbitrary, optional, modifiable in place
User-communication data for callback functions.
- Returns
- retvalfloat
The value of evaluated at .
- afloat
, the lower limit of integration.
- bfloat
, the upper limit of integration. It is not necessary that .
- omegafloat
The argument in the weight function of the transform.
- keyint
Indicates which integral is to be computed.
.
.
- epsabsfloat
The absolute accuracy required. If is negative, the absolute value is used. See Accuracy.
- epsrelfloat
The relative accuracy required. If is negative, the absolute value is used. See Accuracy.
- lwint, optional
The value of (together with that of ) imposes a bound on the number of sub-intervals into which the interval of integration may be divided by the function. The number of sub-intervals cannot exceed . The more difficult the integrand, the larger should be.
- liwNone or int, optional
Note: if this argument is None then a default value will be used, determined as follows: .
The number of sub-intervals into which the interval of integration may be divided cannot exceed .
- 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 .
- wfloat, ndarray, shape
Details of the computation see Further Comments for more information.
- iwint, ndarray, shape
contains the actual number of sub-intervals used. The rest of the array is used as workspace.
- Raises
- NagValueError
- (errno )
On entry, .
Constraint: and .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, .
Constraint: .
- Warns
- NagAlgorithmicWarning
- (errno )
The maximum number of subdivisions () has been reached: , and .
- (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
In the NAG Library the traditional C interface for this routine uses a different algorithmic base. Please contact NAG if you have any questions about compatibility.
dim1_fin_wtrig
is based on the QUADPACK routine QFOUR (see Piessens et al. (1983)). It is an adaptive function, designed to integrate a function of the form , where is either or . If a sub-interval has lengththen the integration over this sub-interval is performed by means of a modified Clenshaw–Curtis procedure (see Piessens and Branders (1975)) if and In this case a Chebyshev series approximation of degree is used to approximate , while an error estimate is computed from this approximation together with that obtained using Chebyshev series of degree . If the above conditions do not hold then Gauss -point and Kronrod -point rules are used. The algorithm, described in Piessens et al. (1983), incorporates a global acceptance criterion (as defined in 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).
- References
Malcolm, M A and Simpson, R B, 1976, Local versus global strategies for adaptive quadrature, ACM Trans. Math. Software (1), 129–146
Piessens, R and Branders, M, 1975, Algorithm 002: computation of oscillating integrals, J. Comput. Appl. Math. (1), 153–164
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