Miller's recurrence algorithm is a procedure for the backward calculation of a rapidly decreasing solution of a three-term recurrence relation developed by J. C. P.
[1] It was originally developed to compute tables of the modified Bessel function[2] but also applies to Bessel functions of the first kind and has other applications such as computation of the coefficients of Chebyshev expansions of other special functions.
[3] Many families of special functions satisfy a recurrence relation that relates the values of the functions of different orders with common argument
The modified Bessel functions of the first kind
satisfy the recurrence relation However, the modified Bessel functions of the second kind
also satisfy the same recurrence relation The first solution decreases rapidly with
Miller's algorithm provides a numerically stable procedure to obtain the decreasing solution.
according to Miller's algorithm, one first chooses a value
and computes a trial solution taking initial condition
to an arbitrary non-zero value (such as 1) and taking
Then the recurrence relation is used to successively compute trial values for
Noting that a second sequence obtained from the trial sequence by multiplication by a constant normalizing factor will still satisfy the same recurrence relation, one can then apply a separate normalizing relationship to determine the normalizing factor that yields the actual solution.
In the example of the modified Bessel functions, a suitable normalizing relation is a summation involving the even terms of the recurrence: where the infinite summation becomes finite due to the approximation that
larger than the initial choice and confirming that the second set of results for
agree within the first set within the desired tolerance.
In contrast to Miller's algorithm, attempts to apply the recurrence relation in the forward direction starting from known values of
obtained by other methods will fail as rounding errors introduce components of the rapidly increasing solution.
[4] Olver[2] and Gautschi[5] analyses the error propagation of the algorithm in detail.
For Bessel functions of the first kind, the equivalent recurrence relation and normalizing relationship are:[6] The algorithm is particularly efficient in applications that require the values of the Bessel functions for all orders