Algorithm 831: Modified Bessel functions of imaginary order and positive argument

Fortran 77 programs for the computation of modified Bessel functions of purely imaginary order are presented. The codes compute the functions <i>K</i><sub><i>ia</i></sub>(<i>x</i>), <i>L</i><sub><i>ia</i></sub>(<i>x</i>) and their derivatives for real <i>a</i> and positive <i>x</i>; these functions are independent solutions of the differential equation <i>x</i><sup>2</sup>w" + <i>xw</i>' + (<i>a</i><sup>2</sup> − <i>x</i><sup>2</sup>)<i>w</i> = 0. The code also computes exponentially scaled functions. The range of computation is (<i>x</i>, <i>a</i>) ∈ (0,1500] × [−1500, 1500] when scaled functions are considered and it is larger than (0,500] × [−400, 400] for standard IEEE double precision arithmetic. The relative accuracy is better than 10<sup>−13</sup> in the range (0,200] × [−200, 200] and close to 10<sup>−12</sup> in (0, 1500] × [−1500, 1500].