Date: Sun, 12 Feb 95 19:04:02 +0000
Here is the transcription of algorithm #6 of Collected
Algorithms from CACM.
I substituted greek letters by their names, the multiplicative
operator by * and the potentiation (x raised to y) by ^ (x ^ y).
jr
Jose R. Valverde
European Bioinformatics Institute
txomsy@ebi.ac.uk
--------------------------------------------------------------------------
6. BESSEL FUNCTION I, ASYMPTOTIC EXPANSION
Dorothea S. Clarke
General Electric Co., FPLD, Cincinnati 15, Ohio
comment Compute the Bessel Function In(X) when n and X
are within the bounds of the asymptotic expansion.
The procedure calling statement gives n, X and an
absolute tolerance delta for determining the point at
which the terms of the summation become in-
significant;
procedure I(n, X, delta) =: (IA)
begin
I: r := 1 ; pe := (4 * (n^2) - 1) / (8 * X)
sum := - pe
Repeat: r := r + 1
pe := pe * (((2 * n)^2) - ((2 * r - 1)^2)) / (r * 8 * X)
if (delta < abs(pe))
begin sum := sum + ((-1)^r) * pe ; go to Repeat end
IA := (1 + sum) * (exp(X) / sqrt(2 * PI * X))
return
end