We present two new algorithms, ADT and MDT, for solving order- n Toeplitz systems of linear equations Tz = b in time O( n log 2 n) and space O( n). The fastest algorithms previously known, such as Trench's algorithm, require time Ω(n 2) and require that all principal submatrices of T be nonsingular. Our algorithm ADT requires only that T be nonsingular. Both our algorithms for Toeplitz systems are derived from algorithms for computing entries in the Padé table for a given power series. We prove that entries in the Padé table can be computed by the Extended Euclidean Algorithm. We describe an algorithm EMGCD (Extended Middle Greatest Common Divisor) which is faster than the algorithm HGCD of Aho, Hopcroft and Ullman, although both require time O( n log 2 n), and we generalize EMGCD to produce PRSDC (Polynomial Remainder Sequence Divide and Conquer) which produces any iterate in the PRS, not just the middle term, in time O( n log 2 n). Applying PRSDC to the polynomials U 0( x) = x 2 n+1 and U 1( x) = a 0 + a 1 x + … + a 2 n x 2 n gives algorithm AD (Anti-Diagonal), which computes any ( m, p) entry along the antidiagonal m + p = 2 n of the Padé table for U 1 in time O( n log 2 n). Our other algorithm, MD (Main-Diagonal), computes any diagonal entry ( n, n) in the Padé table for a normal power series, also in time O( n log 2 n). MD is related to Schönhage's fast continued fraction algorithm. A Toeplitz matrix T is naturally associated with U 1, and the ( n, n) Padé approximation to U 1 gives the first column of T −1. We show how a formula due to Trench can be used to compute the solution z of Tz = b in time O( n log n) from the first row and column of T −1. Thus, the Padé table algorithms AD and MD give O( n log 2 n) Toeplitz algorithms ADT and MDT. Trench's formula breaks down in certain degenerate cases, but in such cases a companion formula, the discrete analog of the Christoffel-Darboux formula, is valid and may be used to compute z in time O( n log 2 n) via the fast computation (by algorithm AD) of at most four Padé approximants. We also apply our results to obtain new complexity bounds for the solution of banded Toeplitz systems and for BCH decoding via Berlekamp's algorithm.
Read full abstract