naginterfaces.library.specfun.bessel_​j0_​real

naginterfaces.library.specfun.bessel_j0_real(x)[source]

bessel_j0_real returns the value of the Bessel function .

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

https://www.nag.com/numeric/nl/nagdoc_28.5/flhtml/s/s17aef.html

Parameters
xfloat

The argument of the function.

Returns
j0float

The value of the Bessel function .

Raises
NagValueError
(errno )

On entry, .

Constraint: .

is too large, the function returns the amplitude of the oscillation, .

Notes

bessel_j0_real evaluates an approximation to the Bessel function of the first kind .

Note: , so the approximation need only consider .

The function is based on three Chebyshev expansions:

For ,

For ,

where ,

and ,

with .

For near zero, . This approximation is used when is sufficiently small for the result to be correct to machine precision.

For very large , it becomes impossible to provide results with any reasonable accuracy (see Accuracy), hence the function fails. Such arguments contain insufficient information to determine the phase of oscillation of ; only the amplitude, , can be determined and this is returned on failure. The range for which this occurs is roughly related to machine precision; the function will fail if .

References

NIST Digital Library of Mathematical Functions

Clenshaw, C W, 1962, Chebyshev Series for Mathematical Functions, Mathematical tables, HMSO