Coupled Vandermonde Matrices and the Superfast Computation of Toeplitz Determinants ∗
Total Page:16
File Type:pdf, Size:1020Kb
Numerical Algorithms 24 (2000) 99±116 99 Coupled Vandermonde matrices and the superfast computation of Toeplitz determinants ∗ Peter Kravanja ∗∗ and Marc Van Barel Department of Computer Science, Katholieke Universiteit Leuven, Celestijnenlaan 200 A, B-3001 Heverlee, Belgium E-mail: [email protected]; [email protected] Let n be a positive integer, let a−n+1, :::, a−1, a0, a1, :::, an−1 be complex numbers n−1 × and let T := [ak−l]k,l=0 be a nonsingular n n complex Toeplitz matrix. We present a superfast algorithm for computing the determinant of T . Superfast means that the arithmetic complexity of our algorithm is O(N log2 N), where N denotes the smallest power of 2 that is larger than or equal to n. We show that det T can be computed from the determinant of a certain coupled Vandermonde matrix. The latter matrix is related to a linearized rational interpolation problem at roots of unity and we show how its determinant can be calculated by multiplying the pivots that appear in the superfast interpolation algorithm that we presented in a previous publication. Keywords: Toeplitz determinants, rational interpolation, coupled Vandermonde matrices AMS subject classi®cation: 65F40, 65D05 1. Introduction Let n be a positive integer, let a−n+1, :::, a−1, a0, a1, :::, an−1 be complex num- n−1 × bers and let T = Tn := [ak−l]k,l=0 be a nonsingular n n complex Toeplitz matrix. We consider the problem of computing the determinant of T . Let N denote the smallest power of 2 that is larger than or equal to n. In [5,6] we used a formula of Heinig and Rost [4] for the generating function of T −1 to represent the N × N matrix −1 − T 0 T 1 := N 00 in terms of discrete Fourier transform matrices and diagonal matrices. The latter matrices involve certain polynomials (known as the canonical fundamental system of T ) evaluated at roots of unity. These polynomials can be computed by solving two linearized rational interpolation problems at the 2Nth roots of unity. In [5,6] we presented a stabilized generically superfast algorithm for solving such interpolation ∗ This research was partially supported by the Fund for Scienti®c Research-Flanders (FWO-V), project ªOrthogonal Systems and Their Applicationsº, grant #G.0278.97. ∗∗ Corresponding author. J.C. Baltzer AG, Science Publishers 100 P. Kravanja, M. Van Barel / Superfast computation of Toeplitz determinants problems. (An earlier version of this algorithm can be found in [8].) Superfast means that the arithmetic complexity of our algorithm is O(ν log2 ν) for a problem that consists of ν interpolation points. Generically refers to the fact that in some exceptional cases the complexity of the algorithm is only O(ν2). We combined our superfast interpolation −1 algorithm and the explicit formula for [T ]N to obtain a superfast Toeplitz solver, i.e., a superfast algorithm for solving linear systems of equations that have Toeplitz structure. The two linearized rational interpolation problems that are related to the canonical fundamental system can be expressed in terms of a certain coupled Vandermonde matrix VC. We will show how det T can be computed from det VC and how det VC can be computed from the pivots that appear in our interpolation algorithm. This will enable us to compute det T in a generically superfast way. In a companion paper [7] we considered the related problem of computing the determinant of a complex Hankel matrix H. By exploiting the connections that exist between Hankel, Loewner, Cauchy and coupled Vandermonde matrices, we were able to show that the determinant of H can be computed from the determinant of a certain h coupled Vandermonde matrix VC (different from VC). The present paper constitutes an improvement on [7] in the following sense: in [7] the size of H had to be a power of 2 whereas in the present paper there is no restriction on the size of T . Also, the h entries that appear in VC are less expensive to compute than those in VC . Note. In the case of linear systems of Toeplitz equations, the idea of transforming a Toeplitz matrix into a coupled Vandermonde matrix was proposed by Heinig [2,3]. 2. A coupled Vandermonde matrix based on the symbol of T The symbol of T is de®ned as the function a−n+1 a−1 n−1 a : C ! C : z 7! a(z):= + ···+ + a + a z + ···+ a − z : 0 zn−1 z 0 1 n 1 De®ne !0, :::, !2N−1 as the 2Nth roots of unity, 2πi ! := exp k , k = 0, 1, :::,2N − 1, k 2N and let V2N be the corresponding Vandermonde matrix, 2 3 1 ! ::: !2N−1 6 0 0 7 . 2 C2N×2N V2N := 4 . 5 : 2N−1 1 !2N−1 ::: !2N−1 p Note that V2N = 2N is a unitary matrix. In theorem 2 below we will need an explicit H expression for the determinant of V2N . The fact that V2N V2N = 2NI2N immediately 2 2N N implies that jdet V2N j = (2N) and, hence, jdet V2N j = (2N) .Inotherwords, P. Kravanja, M. Van Barel / Superfast computation of Toeplitz determinants 101 N det V2N = αN (2N) ,whereαN 2 C and jαN j = 1. In the next theorem we obtain the value of this constant αN of modulus one in case N is a power of 2, which is the case that interests us in this paper. p N Theorem 1. Suppose N = 2 ,wherep 2 N n {0, 1}. Then det V2N = i(2N) .Also, det V2 = −2 and det V4 = −16i. Proof. The 2Nth roots of unity !0, !1, :::, !2N−1 can be grouped into two groups. De®ne + − !k := !2k and !k := !2k+1 − + + + for k = 0, 1, :::, N 1. Then !0 , !1 , :::, !N−1 are the Nth roots of unity and − − − !0 , !1 , :::, !N−1 are rotated Nth roots of unity, − + − !k = ηωk , k = 0, 1, :::, N 1, N N×N where η := exp(πi=N ). Note that η = −1. Let VN 2 C be the Vandermonde matrix based on the Nth roots of unity, 2 − 3 1 !+ ::: !+ N 1 6 0 0 7 V := 4 . 5 : N . . + + N−1 1 !N−1 ::: !N−1 By rearranging the rows of V2N we obtain the following: 2 − − 3 1 !+ ::: !+ N 1 !+ N ::: !+ 2N 1 6 0 0 0 0 7 6 . 7 6 . . . . 7 6 + + N−1 + N + 2N−1 7 61 ! − ::: ! − ! − ::: ! − 7 P V = 6 N 1 N 1 N 1 N 1 7 : 2N 2N 6 − − N−1 − N − 2N−1 7 61 ! ::: ! ! ::: ! 7 6 0 0 0 0 7 4 . 5 . . . . − − N−1 − N − 2N−1 1 !N−1 ::: !N−1 !N−1 ::: !N−1 2N×2N Here P2N 2 R is the permutation matrix de®ned by T P2N := e1 e3 ::: e2N−1 e2 e4 ::: e2N , 2N where ej 2 R denotes the jth canonical basis vector for j = 1, :::,2N.Let N−1 2 CN×N + N − N N − Dη := diag(1, η, :::, η ) .Since[!k ] = 1and[!k ] = η = 1for k = 0, 1, :::, N − 1, it follows that VN VN P2N V2N = : VN Dη −VN Dη The Schur complement formula then implies that − − −1 det P2N det V2N = det VN det VN Dη VN DηVN VN N 2 = det VN det(−2VN Dη) = (−2) det Dη[det VN ] : 102 P. Kravanja, M. Van Barel / Superfast computation of Toeplitz determinants N−1 (1=2)N(N−1) Since det Dη = exp[(πi=N)(1=2)(N −1)N] = i and det P2N = (−1) = iN(N−1) we may conclude that N N N−1 −N(N−1) 2 N 2N−(N−1)2 2 det V2N = (−1) 2 i i [det VN ] = 2 i [det VN ] N 4N−(1+N 2) 2 N −(1+N 2) 2 = 2 i [det VN ] = 2 i [det VN ] : Here we have used the fact that i4 = 1. As N is even, N 2 is a multiple of 4 and, hence, iN 2 = 1. Thus, N 3 2 det V2N = 2 i [det VN ] : The fact that 11 det V = det = −2 = 2i2 2 1 −1 implies that det V2N consists of two factors: a power of 2 and a power of i. Let "2N denote the power of 2 that appears in det V2N .Then"2 = 1 and in general we have the recursion "2N = N + 2"N : The solution to this difference equation is given by "2N = N + N log2 N: Similarly, if we let ζ2N denote the power of i that appears in det V2N ,thenζ2 = 2and ζ2N = 3 + 2ζN : It follows that ζ2N = 5N − 3: Therefore, "2N ζ2N N+N log N 5N−3 N+1 N det V2N = 2 i = 2 2 i = i (2N) : For N = 1andN = 2 we have indeed that det V2 = −2 and det V4 = −16i. If N is a power of 2 that is larger than or equal to 4, then N is a multiple of 4 and, hence, iN = 1. This proves the theorem. 2N×2N Let us de®ne the coupled Vandermonde matrix VC 2 C as follows: the (k + 1)th row of VC is given by n n+1 2N−1 n−1 !k !k ::: !k a(!k) !ka(!k) ::: !k a(!k) for k = 0, 1, :::,2N − 1. The following theorem shows how det T can be computed from det VC. n Theorem 2. det VC = (−1) det V2N det T . P. Kravanja, M. Van Barel / Superfast computation of Toeplitz determinants 103 Proof. We partition the Vandermonde matrix V2N as (n) (2N−n) V2N =: V2N V2N , (n) 2 C2N×n (2N−n) 2 C2N×(2N−n) where V2N and V2N .