besselI.nuAsym {Bessel} | R Documentation |
Compute Bessel functions I_{\nu}(x)
and
K_{\nu}(x)
for large \nu
and possibly large
x
,
using asymptotic expansions in Debye polynomials.
besselI.nuAsym(x, nu, k.max, expon.scaled = FALSE, log = FALSE)
besselK.nuAsym(x, nu, k.max, expon.scaled = FALSE, log = FALSE)
x |
numeric or |
nu |
numeric; The order (maybe fractional!) of the corresponding Bessel function. |
k.max |
integer number of terms in the expansion. Must be in
|
expon.scaled |
logical; if |
log |
logical; if TRUE, |
Abramowitz & Stegun , page 378, has formula 9.7.7 and 9.7.8 for the asymptotic
expansions of I_{\nu}(x)
and K_{\nu}(x)
, respectively,
also saying
When \nu \to +\infty
, these expansions
(of I_{\nu}(\nu z)
and
K_{\nu}(\nu z)
)
hold uniformly with respect to z
in the sector
|arg z| \le \frac{1}{2} \pi - \epsilon
,
where \epsilon
iw qn arbitrary positive number.
and for this reason, we require \Re(x) \ge 0
.
The Debye polynomials u_k(x)
are defined in 9.3.9 and 9.3.10 (page 366).
a numeric vector of the same length as the long of x
and
nu
. (usual argument recycling is applied implicitly.)
Martin Maechler
Abramowitz, M., and Stegun, I. A. (1955, etc). Handbook of mathematical functions (NBS AMS series 55, U.S. Dept. of Commerce), pp. 366, 378.
From this package Bessel: BesselI()
; further,
besselIasym()
for the case when x
is large and
\nu
is small or moderate.
Further, from base: besselI
, etc.
x <- c(1:10, 20, 50, 100, 100000)
nu <- c(1, 10, 20, 50, 10^(2:10))
sapply(0:4, function(k.)
sapply(nu, function(n.)
besselI.nuAsym(x, nu=n., k.max = k., log = TRUE)))
sapply(0:4, function(k.)
sapply(nu, function(n.)
besselK.nuAsym(x, nu=n., k.max = k., log = TRUE)))