§3.6 Linear Difference Equations
Contents
- §3.6(i) Introduction
- §3.6(ii) Homogeneous Equations
- §3.6(iii) Miller’s Algorithm
- §3.6(iv) Inhomogeneous Equations
- §3.6(v) Olver’s Algorithm
- §3.6(vi) Examples
- §3.6(vii) Linear Difference Equations of Other Orders
§3.6(i) Introduction
Many special functions satisfy second-order recurrence relations, or difference equations, of the form
or equivalently,
where
,
, and
. If
,
, then the difference equation is homogeneous;
otherwise it is inhomogeneous.
§3.6(ii) Homogeneous Equations
Given numerical values of
and
, the solution
of the equation
with
,
, can be computed recursively for
. Unless exact arithmetic is being used, however, each step of
the calculation introduces rounding errors. These errors have the effect of
perturbing the solution by unwanted small multiples of
and of an
independent solution
, say. This is of little consequence if the wanted
solution is growing in magnitude at least as fast as any other solution of
(3.6.3), and the recursion process is stable.
But suppose that
is a nontrivial solution such that
Then
is said to be a recessive (equivalently, minimal or
distinguished) solution as
, and it is unique
except for a constant factor. In this situation the unwanted multiples of
grow more rapidly than the wanted solution, and the computations are
unstable. Stability can be restored, however, by backward
recursion, provided that
,
: starting from
and
, with
large, equation (3.6.3) is applied to generate
in succession
. The unwanted multiples of
now decay in comparison with
, hence are of little consequence.
§3.6(iii) Miller’s Algorithm
Because the recessive solution of a homogeneous equation is the fastest growing
solution in the backward direction, it occurred to J.C.P. Miller
(Bickley et al. (1952, pp. xvi–xvii)) that arbitrary “trial values” can be
assigned to
and
, for example, 1 and 0. A “trial solution”
is then computed by backward recursion, in the course of which the original
components of the unwanted solution
die away. It therefore remains to
apply a normalizing factor
. The process is then repeated with a
higher value of
, and the normalized solutions compared. If agreement is not
within a prescribed tolerance the cycle is continued.
The normalizing factor
can be the true value of
divided by its
trial value, or
can be chosen to satisfy a known property of the
wanted solution of the form
where the
’s are constants. The latter method is usually superior when the
true value of
is zero or pathologically small.
For further information on Miller’s algorithm, including examples, convergence proofs, and error analyses, see Wimp (1984, Chapter 4), Gautschi (1967, 1997b), and Olver (1964a). See also Gautschi (1967) and Gil et al. (2007a, Chapter 4) for the computation of recessive solutions via continued fractions.
§3.6(iv) Inhomogeneous Equations
Similar principles apply to equation (3.6.1) when
,
, and
for some, or all, values of
. If, as
, the wanted solution
grows (decays) in magnitude at least
as fast as any solution of the corresponding homogeneous equation, then forward
(backward) recursion is stable.
A new problem arises, however, if, as
, the asymptotic behavior
of
is intermediate to those of two independent solutions
and
of the corresponding inhomogeneous equation (the complementary functions). More
precisely, assume that
,
for all sufficiently large
, and as ![]()
Then computation of
by forward recursion is unstable. If it also happens
that
as
, then computation of
by backward
recursion is unstable as well. However,
can be computed successfully in
these circumstances by boundary-value methods, as follows.
Let us assume the normalizing condition is of the form
, where
is a constant, and then solve the following tridiagonal system of
algebraic equations for the unknowns
; see §3.2(ii).
Here
is an arbitrary positive integer.
Then as
with
fixed,
.
§3.6(v) Olver’s Algorithm
To apply the method just described a succession of values can be prescribed for
the arbitrary integer
and the results compared. However, a more powerful
procedure combines the solution of the algebraic equations with the
determination of the optimum value of
. It is applicable equally to the
computation of the recessive solution of the homogeneous equation
(3.6.3) or the computation of any solution
of the
inhomogeneous equation (3.6.1) for which the conditions of
§3.6(iv) are satisfied.
Suppose again that
,
is given, and we wish to calculate
to a prescribed relative accuracy
for a given
value of
. We first compute, by forward recurrence, the solution
of
the homogeneous equation (3.6.3) with initial values
,
. At the same time we construct a sequence
,
,
defined by
beginning with
. (This part of the process is equivalent to forward
elimination.) The computation is continued until a value
(
) is
reached for which
Then
is generated by backward recursion from
starting with
. (This part of the process is back substitution.)
§3.6(vi) Examples
¶ Example 1. Bessel Functions
The difference equation
is satisfied by
and
, where
and
are the Bessel functions of the first
kind. For large
,
(§10.19(i)). Thus
is dominant and can be computed
by forward recursion, whereas
is recessive and has to be
computed by backward recursion. The backward recursion can be carried out using
independently computed values of
and
or
by use of Miller’s algorithm (§3.6(iii)) or Olver’s algorithm
(§3.6(v)).
¶ Example 2. Weber Function
The Weber function
satisfies
for
, and as ![]()
see §11.11(ii). Thus the asymptotic behavior of the particular
solution
is intermediate to those of the complementary
functions
and
; moreover, the conditions for
Olver’s algorithm are satisfied. We apply the algorithm to compute
to 8S for the range
, beginning with the
value
obtained from the Maclaurin series
expansion (§11.10(iii)).
In the notation of §3.6(v) we have
and
. The least value of
that satisfies
(3.6.9) is found to be 16. The results of the computations are
displayed in Table 3.6.1. The values of
for
are the wanted values of
. (It should
be observed that for
,
however, the
are progressively poorer approximations to
:
the underlined digits are in error.)
| 0 | 0.00000 000 | −0.56865 663 | −0.56865 663 | |||||
| 1 | 0.10000 000 | ×10¹ | 0.70458 291 | 0.35229 146 | 0.43816 243 | |||
| 2 | 0.20000 000 | ×10¹ | 0.70458 291 | 0.50327 351 | ×10⁻¹ | 0.17174 195 | ||
| 3 | 0.70000 000 | ×10¹ | 0.96172 597 | ×10¹ | 0.34347 356 | ×10⁻¹ | 0.24880 538 | |
| 4 | 0.40000 000 | ×10² | 0.96172 597 | ×10¹ | 0.76815 174 | ×10⁻³ | 0.47850 795 | ×10⁻¹ |
| 5 | 0.31300 000 | ×10³ | 0.40814 124 | ×10³ | 0.42199 534 | ×10⁻³ | 0.13400 098 | |
| 6 | 0.30900 000 | ×10⁴ | 0.40814 124 | ×10³ | 0.35924 754 | ×10⁻⁵ | 0.18919 443 | ×10⁻¹ |
| 7 | 0.36767 000 | ×10⁵ | 0.47221 340 | ×10⁵ | 0.25102 029 | ×10⁻⁵ | 0.93032 343 | ×10⁻¹ |
| 8 | 0.51164 800 | ×10⁶ | 0.47221 340 | ×10⁵ | 0.11324 804 | ×10⁻⁷ | 0.10293 811 | ×10⁻¹ |
| 9 | 0.81496 010 | ×10⁷ | 0.10423 616 | ×10⁸ | 0.87496 485 | ×10⁻⁸ | 0.71668 638 | ×10⁻¹ |
| 10 | 0.14618 117 | ×10⁹ | 0.10423 616 | ×10⁸ | 0.24457 824 | ×10⁻¹⁰ | 0.65021 292 | ×10⁻² |
| 11 | 0.29154 738 | ×10¹⁰ | 0.37225 201 | ×10¹⁰ | 0.19952 026 | ×10⁻¹⁰ | 0.58373 946 | ×10⁻¹ |
| 12 | 0.63994 242 | ×10¹¹ | 0.37225 201 | ×10¹⁰ | 0.37946 279 | ×10⁻¹³ | ×10⁻² | |
| 13 | 0.15329 463 | ×10¹³ | 0.19555 304 | ×10¹³ | 0.32057 909 | ×10⁻¹³ | ×10⁻¹ | |
| 14 | 0.39792 611 | ×10¹⁴ | 0.19555 304 | ×10¹³ | 0.44167 174 | ×10⁻¹⁶ | ×10⁻² | |
| 15 | 0.11126 602 | ×10¹⁶ | 0.14186 384 | ×10¹⁶ | 0.38242 250 | ×10⁻¹⁶ | ×10⁻¹ | |
| 16 | 0.33340 012 | ×10¹⁷ | 0.14186 384 | ×10¹⁶ | 0.39924 861 | ×10⁻¹⁹ | ||
§3.6(vii) Linear Difference Equations of Other Orders
Similar considerations apply to the first-order equation
Thus in the inhomogeneous case it may sometimes be necessary to recur backwards to achieve stability. For analyses and examples see Gautschi (1997b).
For a difference equation of order
(
),
or for systems of
first-order inhomogeneous equations, boundary-value
methods are the rule rather than the exception. Typically
conditions
are prescribed at the beginning of the range, and
conditions at the end.
Here
, and its actual value depends on the asymptotic behavior
of the wanted solution in relation to those of the other solutions. Within this
framework forward and backward recursion may be regarded as the special cases
and
, respectively.

