In numerical analysis, the Shanks transformation is a non-linear series acceleration method to increase the rate of convergence of a sequence. This method is named after Daniel Shanks, who rediscovered this sequence transformation in 1955. It was first derived and published by R. Schmidt in 1941.[1]
One can calculate only a few terms of a perturbation expansion, usually no more than two or three, and almost never more than seven. The resulting series is often slowly convergent, or even divergent. Yet those few terms contain a remarkable amount of information, which the investigator should do his best to extract. This viewpoint has been persuasively set forth in a delightful paper by Shanks (1955), who displays a number of amazing examples, including several from fluid mechanics.
For a sequence { a m } m ∈ N {\displaystyle \left\{a_{m}\right\}_{m\in \mathbb {N} }} the series
is to be determined. First, the partial sum A n {\displaystyle A_{n}} is defined as:
and forms a new sequence { A n } n ∈ N {\displaystyle \left\{A_{n}\right\}_{n\in \mathbb {N} }} . Provided the series converges, A n {\displaystyle A_{n}} will also approach the limit A {\displaystyle A} as n → ∞ . {\displaystyle n\to \infty .} The Shanks transformation S ( A n ) {\displaystyle S(A_{n})} of the sequence A n {\displaystyle A_{n}} is the new sequence defined by[2][3]
where this sequence S ( A n ) {\displaystyle S(A_{n})} often converges more rapidly than the sequence A n . {\displaystyle A_{n}.} Further speed-up may be obtained by repeated use of the Shanks transformation, by computing S 2 ( A n ) = S ( S ( A n ) ) , {\displaystyle S^{2}(A_{n})=S(S(A_{n})),} S 3 ( A n ) = S ( S ( S ( A n ) ) ) , {\displaystyle S^{3}(A_{n})=S(S(S(A_{n}))),} etc.
Note that the non-linear transformation as used in the Shanks transformation is essentially the same as used in Aitken's delta-squared process so that as with Aitken's method, the right-most expression in S ( A n ) {\displaystyle S(A_{n})} 's definition (i.e. S ( A n ) = A n + 1 − ( A n + 1 − A n ) 2 ( A n + 1 − A n ) − ( A n − A n − 1 ) {\displaystyle S(A_{n})=A_{n+1}-{\frac {(A_{n+1}-A_{n})^{2}}{(A_{n+1}-A_{n})-(A_{n}-A_{n-1})}}} ) is more numerically stable than the expression to its left (i.e. S ( A n ) = A n + 1 A n − 1 − A n 2 A n + 1 − 2 A n + A n − 1 {\displaystyle S(A_{n})={\frac {A_{n+1}\,A_{n-1}\,-\,A_{n}^{2}}{A_{n+1}-2A_{n}+A_{n-1}}}} ). Both Aitken's method and the Shanks transformation operate on a sequence, but the sequence the Shanks transformation operates on is usually thought of as being a sequence of partial sums, although any sequence may be viewed as a sequence of partial sums.
As an example, consider the slowly convergent series[3]
which has the exact sum π ≈ 3.14159265. The partial sum A 6 {\displaystyle A_{6}} has only one digit accuracy, while six-figure accuracy requires summing about 400,000 terms.
In the table below, the partial sums A n {\displaystyle A_{n}} , the Shanks transformation S ( A n ) {\displaystyle S(A_{n})} on them, as well as the repeated Shanks transformations S 2 ( A n ) {\displaystyle S^{2}(A_{n})} and S 3 ( A n ) {\displaystyle S^{3}(A_{n})} are given for n {\displaystyle n} up to 12. The figure to the right shows the absolute error for the partial sums and Shanks transformation results, clearly showing the improved accuracy and convergence rate.
The Shanks transformation S ( A 1 ) {\displaystyle S(A_{1})} already has two-digit accuracy, while the original partial sums only establish the same accuracy at A 24 . {\displaystyle A_{24}.} Remarkably, S 3 ( A 3 ) {\displaystyle S^{3}(A_{3})} has six digits accuracy, obtained from repeated Shank transformations applied to the first seven terms A 0 , … , A 6 . {\displaystyle A_{0},\ldots ,A_{6}.} As mentioned before, A n {\displaystyle A_{n}} only obtains 6-digit accuracy after summing about 400,000 terms.
The Shanks transformation is motivated by the observation that — for larger n {\displaystyle n} — the partial sum A n {\displaystyle A_{n}} quite often behaves approximately as[2]
with | q | < 1 {\displaystyle |q|<1} so that the sequence converges transiently to the series result A {\displaystyle A} for n → ∞ . {\displaystyle n\to \infty .} So for n − 1 , {\displaystyle n-1,} n {\displaystyle n} and n + 1 {\displaystyle n+1} the respective partial sums are:
These three equations contain three unknowns: A , {\displaystyle A,} α {\displaystyle \alpha } and q . {\displaystyle q.} Solving for A {\displaystyle A} gives[2]
In the (exceptional) case that the denominator is equal to zero: then A n = A {\displaystyle A_{n}=A} for all n . {\displaystyle n.}
The generalized kth-order Shanks transformation is given as the ratio of the determinants:[4]
with Δ A p = A p + 1 − A p . {\displaystyle \Delta A_{p}=A_{p+1}-A_{p}.} It is the solution of a model for the convergence behaviour of the partial sums A n {\displaystyle A_{n}} with k {\displaystyle k} distinct transients:
This model for the convergence behaviour contains 2 k + 1 {\displaystyle 2k+1} unknowns. By evaluating the above equation at the elements A n − k , A n − k + 1 , … , A n + k {\displaystyle A_{n-k},A_{n-k+1},\ldots ,A_{n+k}} and solving for A , {\displaystyle A,} the above expression for the kth-order Shanks transformation is obtained. The first-order generalized Shanks transformation is equal to the ordinary Shanks transformation: S 1 ( A n ) = S ( A n ) . {\displaystyle S_{1}(A_{n})=S(A_{n}).}
The generalized Shanks transformation is closely related to Padé approximants and Padé tables.[4]
Note: The calculation of determinants requires many arithmetic operations to make, however Peter Wynn discovered a recursive evaluation procedure called epsilon-algorithm which avoids calculating the determinants.[5][6]