About the Project
3 Numerical MethodsAreas

§3.10 Continued Fractions

Contents
  1. §3.10(i) Introduction
  2. §3.10(ii) Relations to Power Series
  3. §3.10(iii) Numerical Evaluation of Continued Fractions

§3.10(i) Introduction

See §1.12 for relevant properties of continued fractions, including the following definitions:

3.10.1 C=b0+a1b1+a2b2+,
an0,
3.10.2 Cn=b0+a1b1+a2b2+anbn=AnBn.

Cn is the nth approximant or convergent to C.

§3.10(ii) Relations to Power Series

Every convergent, asymptotic, or formal series

3.10.3 u0+u1+u2+

can be converted into a continued fraction C of type (3.10.1), and with the property that the nth convergent Cn=An/Bn to C is equal to the nth partial sum of the series in (3.10.3), that is,

3.10.4 AnBn=u0+u1++un,
n=0,1,.

For instance, if none of the un vanish, then we can define

3.10.5 b0 =u0,
b1 =1,
a1 =u1,
bn =1+unun1,
an =unun1,
n2.

However, other continued fractions with the same limit may converge in a much larger domain of the complex plane than the fraction given by (3.10.4) and (3.10.5). For example, by converting the Maclaurin expansion of arctanz (4.24.3), we obtain a continued fraction with the same region of convergence (|z|1, z±i), whereas the continued fraction (4.25.4) converges for all z except on the branch cuts from i to i and i to i.

Stieltjes Fractions

A continued fraction of the form

3.10.6 C=a01a1z1a2z1

is called a Stieltjes fraction (S-fraction). We say that it corresponds to the formal power series

3.10.7 f(z)=c0+c1z+c2z2+

if the expansion of its nth convergent Cn in ascending powers of z agrees with (3.10.7) up to and including the term in zn1, n=1,2,3,.

Quotient-Difference Algorithm

For several special functions the S-fractions are known explicitly, but in any case the coefficients an can always be calculated from the power-series coefficients by means of the quotient-difference algorithm; see Table 3.10.1.

Table 3.10.1: Quotient-difference scheme.
\begin{picture}(8.0,9.0)\put(0.0,7.0){$e_{0}^{1}$}
\put(0.0,5.0){$e_{0}^{2}$}
\put(0.0,3.0){$e_{0}^{3}$}
\put(0.0,1.0){$e_{0}^{4}$}
\put(1.0,8.0){$q_{1}^{0}$}
\put(1.0,6.0){$q_{1}^{1}$}
\put(1.0,4.0){$q_{1}^{2}$}
\put(1.0,2.0){$q_{1}^{3}$}
\put(1.0,0.0){$\ddots$}
\put(2.0,7.0){$e_{1}^{0}$}
\put(2.0,5.0){$e_{1}^{1}$}
\put(2.0,3.0){$e_{1}^{2}$}
\put(2.0,1.0){$e_{1}^{3}$}
\put(3.0,6.0){$q_{2}^{0}$}
\put(3.0,4.0){$q_{2}^{1}$}
\put(3.0,2.0){$q_{2}^{2}$}
\put(3.0,0.0){$\ddots$}
\put(4.0,5.0){$e_{2}^{0}$}
\put(4.0,3.0){$e_{2}^{1}$}
\put(4.0,1.0){$e_{2}^{2}$}
\put(5.0,4.0){$q_{3}^{0}$}
\put(5.0,2.0){$q_{3}^{1}$}
\put(5.0,0.0){$\ddots$}
\put(6.0,3.0){$e_{3}^{0}$}
\put(6.0,1.0){$e_{3}^{1}$}
\put(7.0,2.0){$\ddots$}
\put(7.0,0.0){$\ddots$}
\end{picture}

The first two columns in this table are defined by

3.10.8 e0n =0,
n=1,2,,
q1n =cn+1/cn,
n=0,1,,

where the cn (0) appear in (3.10.7). We continue by means of the rhombus rule

3.10.9 ejk =ej1k+1+qjk+1qjk,
j1, k0,
qj+1k =qjk+1ejk+1/ejk,
j1, k0.

Then the coefficients an of the S-fraction (3.10.6) are given by

3.10.10 a0 =c0,
a1 =q10,
a2 =e10,
a3 =q20,
a4 =e20,
.

The quotient-difference algorithm is frequently unstable and may require high-precision arithmetic or exact arithmetic. A more stable version of the algorithm is discussed in Stokes (1980). For applications to Bessel functions and Whittaker functions (Chapters 10 and 13), see Gargantini and Henrici (1967).

Jacobi Fractions

A continued fraction of the form

3.10.11 C=β01α0zβ1z21α1zβ2z21α2z

is called a Jacobi fraction (J-fraction). We say that it is associated with the formal power series f(z) in (3.10.7) if the expansion of its nth convergent Cn in ascending powers of z, agrees with (3.10.7) up to and including the term in z2n1, n=1,2,3,. For the same function f(z), the convergent Cn of the Jacobi fraction (3.10.11) equals the convergent C2n of the Stieltjes fraction (3.10.6).

Examples of S- and J-Fractions

For elementary functions, see §§ 4.9 and 4.35.

For special functions see §5.10 (gamma function), §7.9 (error function), §8.9 (incomplete gamma functions), §8.17(v) (incomplete beta function), §8.19(vii) (generalized exponential integral), §§10.10 and 10.33 (quotients of Bessel functions), §13.6 (quotients of confluent hypergeometric functions), §13.19 (quotients of Whittaker functions), and §15.7 (quotients of hypergeometric functions).

For further information and examples see Lorentzen and Waadeland (1992, pp. 292–330, 560–599) and Cuyt et al. (2008).

§3.10(iii) Numerical Evaluation of Continued Fractions

Forward Recurrence Algorithm

The An and Bn of (3.10.2) can be computed by means of three-term recurrence relations (1.12.5). However, this may be unstable; also overflow and underflow may occur when evaluating An and Bn (making it necessary to re-scale from time to time).

Backward Recurrence Algorithm

To compute the Cn of (3.10.2) we perform the iterated divisions

3.10.12 un =bn,
uk =bk+ak+1uk+1,
k=n1,n2,,0.

Then u0=Cn. To achieve a prescribed accuracy, either a priori knowledge is needed of the value of n, or n is determined by trial and error. In general this algorithm is more stable than the forward algorithm; see Jones and Thron (1974).

Forward Series Recurrence Algorithm

The continued fraction

3.10.13 C=a01a11a21

can be written in the form

3.10.14 C=k=0tk,

where

3.10.15 t0 =a0,
tk =ρktk1,
ρ0 =0,
ρk =ak(1+ρk1)1ak(1+ρk1),
k=1,2,3,.

The nth partial sum t0+t1++tn1 equals the nth convergent of (3.10.13), n=1,2,3,. In contrast to the preceding algorithms in this subsection no scaling problems arise and no a priori information is needed.

In Gautschi (1979c) the forward series algorithm is used for the evaluation of a continued fraction of an incomplete gamma function (see §8.9).

Steed’s Algorithm

This forward algorithm achieves efficiency and stability in the computation of the convergents Cn=An/Bn, and is related to the forward series recurrence algorithm. Again, no scaling problems arise and no a priori information is needed.

Let

3.10.16 C0 =b0,
D1 =1/b1,
C1 =a1D1,
C1 =C0+C1.

( is the backward difference operator.) Then for n2,

3.10.17 Dn =1Dn1an+bn,
Cn =(bnDn1)Cn1,
Cn =Cn1+Cn.

The recurrences are continued until (Cn)/Cn is within a prescribed relative precision.

Alternatives to Steed’s algorithm are the Lentz algorithm Lentz (1976) and the modified Lentz algorithm Thompson and Barnett (1986).

For further information on the preceding algorithms, including convergence in the complex plane and methods for accelerating convergence, see Blanch (1964) and Lorentzen and Waadeland (1992, Chapter 3). For the evaluation of special functions by using continued fractions see Cuyt et al. (2008), Gautschi (1967, §1), Gil et al. (2007a, Chapter 6), and Wimp (1984, Chapter 4, §5). See also §§6.18(i), 7.22(i), 8.25(iv), 10.74(v), 14.32, 28.34(ii), 29.20(i), 30.16(i), 33.23(v).