Bessel functions

DESCRIPTION:

Bessel functions for complex x and nonnegative order.

USAGE:

besselI(x, nu, expon.scaled=FALSE)
besselJ(x, nu, expon.scaled=FALSE)
besselK(x, nu, expon.scaled=FALSE)
besselY(x, nu, expon.scaled=FALSE)

REQUIRED ARGUMENTS:

x
A numeric or complex vector. The output will be complex if the input is, otherwise it will be numeric.
nu
A numeric vector of nonnegative values giving the order of the Bessel function.

OPTIONAL ARGUMENTS:

expon.scaled
A logical value. If TRUE return an exponential scale factor times the value of the Bessel function, to remove the exponential growth. Otherwise return the raw value of the Bessel function. The scale factor depends on the Bessel function: besselI: exp(-abs(Re(x))), besselJ: exp(-abs(Im(x))), besselK: exp(x), and besselY: exp(-abs(Im(x))). Note that this has no effect for besselJ and besselY for real x.

VALUE:

besselI returns the value of the modified Bessel function of the first kind, besselJ the Bessel function of the first kind, besselK the modified Bessel function of the second kind, and besselY the Bessel function of the second kind.

DETAILS:

The Bessel functions are computed using the double precision complex FORTRAN code written by D.E. Amos at Sandia National Laboratories. The code is available at www.netlib.org/amos.

REFERENCES:

The notation follows that of Abramowitz and Stegun, Handbook of Mathematical Functions.

EXAMPLES:

besselJ(seq(0,3*pi,len=11), nu=0)
# [1]  1.00000000  0.78996223  0.29056421
# [4] -0.19615024 -0.40198647 -0.26585725
# [7]  0.04517576  0.27371045  0.26075863
#[10]  0.04677168 -0.18121145