# besselIasym: Asymptotic Expansion of besselI(x,nu) For Large x In Bessel: Bessel Functions Computations and Approximations

## Description

Compute Bessel function I[nu](x) and K[nu](x) for large x and small or moderate nu, using the asymptotic expansion (9.7.1), p.377 of Abramowitz & Stegun, for x -> Inf, even valid for `complex` x,

I_a(x) = exp(x) / sqrt(2*pi*x)* f(x, a),

where

f(x,a) = 1 - (mu-1) / (8x) + (mu-1)(mu-9) / (2! (8x)^2) - ...,

and mu = 4*a^2 and |arg(x)| < π/2.

Whereas `besselIasym(x,a)` computes I_a(x), `besselI.ftrms` returns the corresponding terms in the series expansion of f(x,a) above.

## Usage

 ```1 2``` ```besselIasym (x, nu, k.max = 10, expon.scaled = FALSE, log = FALSE) besselI.ftrms(x, nu, K = 20) ```

## Arguments

 `x` numeric, >= 0. `nu` numeric; The order (maybe fractional!) of the corresponding Bessel function. `k.max, K` integer number of terms in the expansion.
 `expon.scaled` logical; if `TRUE`, the results are exponentially scaled in order to avoid overflow.
 `log` logical; if TRUE, \log(f(.)) is returned instead of f.

## Details

......... FIXME ...

## Value

a numeric vector of the same length as `x`.

Martin Maechler

## References

Abramowitz, M., and Stegun, I. A. (1955, etc). Handbook of mathematical functions (NBS AMS series 55, U.S. Dept. of Commerce).

From this package Bessel() `BesselI()`; further, `besselI.nuAsym()` which is useful when ν is large (as well); further base `besselI`, etc
 ```1 2 3 4 5 6 7``` ```x <- c(1:10, 20, 50, 100^(2:10)) nu <- c(1, 10, 20, 50, 100) r <- lapply(c(0:4,10,20), function(k.) sapply(nu, function(n.) besselIasym(x, nu=n., k.max = k., log = TRUE))) warnings() ```