Handbook of Linear Algebra
Total Page:16
File Type:pdf, Size:1020Kb
62 Fast Algorithms for Structured Matrix Computations 62.1 Classes of Structured Matrices ::::::::::::::::::::::: 62-1 62.2 Transformations of Structured Matrices :::::::::::: 62-6 62.3 Generalized Schur Algorithms :::::::::::::::::::::::: 62-8 62.4 Schur Algorithms for Positive Definite Matrices ::: 62-10 62.5 Fast Algorithms for Cauchy-like Systems ::::::::::: 62-12 62.6 Fast Algorithms for Toeplitz-like Systems :::::::::: 62-13 62.7 Fast Algorithms for Vandermonde Systems :::::::: 62-15 Michael Stewart 62.8 Superfast Algorithms :::::::::::::::::::::::::::::::::: 62-17 Georgia State University References:::::::::::::::::::::::::::::::::::::::::::::::::::::: 62-19 A structured matrix is an m×n matrix with elements that can be determined from substan- tially fewer than mn parameters. This is a broad definition that includes sparse matrices, matrices with displacement structure, matrices with rank structure, and numerous types of matrices with specialized structure. Many common matrix operations can be performed us- ing fast algorithms that exploit matrix structure to achieve asymptotic speed-up relative to conventional algorithms. For matrices with either displacement structure or rank structure, there are fast algorithms for the solution of linear systems, inversion, QR factorization, and matrix-vector multiplication. Fast algorithms typically achieve a factor of n speed-up over their conventional counterparts. Algorithms that do better than this are sometimes referred to as superfast. This chapter focuses on methods for dense matrices with structure. The emphasis is on direct methods, with some limited coverage of the use of fast matrix-vector multiplication in iterative methods and the choice of preconditioners for structured systems. Displacement structure is used as a unifying context for the presentation of many of the fast algorithms. Toeplitz, Vandermonde, and Cauchy matrices are covered in detail. A notable omission is the topic of fast algorithms for matrices with rank structure. Unless otherwise noted, all matrices are assumed to be complex. 62.1 Classes of Structured Matrices Displacement equations were introduced to derive factorization algorithms and inversion formulas for matrices with an almost Toeplitz structure [FMK79]. Since then the concept has been generalized and has served as a unifying concept in the study of algorithms for a wide range of structured matrices. This approach allows uniform derivation of fast algorithms for LU, QR, and Cholesky factorization of Toeplitz, Vandermonde, Cauchy, Hankel, and related matrices. 62-1 62-2 Handbook of Linear Algebra Definitions: m×n m×m m×m n×n n×n Let A 2 C , E 2 C , G 2 C , F 2 C and H 2 C . Let the vector vn(α) be given by 2 n−1T vn(α) = 1 α α ··· α and pn(α) by T pn(α) = p0(α) p1(α) ··· pn−1(α) ; where each pk(α) is a polynomial of degree k and α 2 C. n Given a vector v 2 C , Dv is the n × n diagonal matrix with diagonal elements taken in order from the elements of v. The matrix Zn = [zjk] is the n × n downshift matrix given by zjk = 1 for j = k + 1 and zjk = 0 otherwise. ∗ The matrix Zδ;n denotes Zn + δe1en. The matrix Σp;q is the signature matrix Σp;q = Ip ⊕ −Iq. m×n A matrix T = [tjk] 2 C is Toeplitz if tjk = tj−k, that is if its elements are constant along diagonals. n×n A Toeplitz matrix S = [sjk] 2 C is circulant if sjk = s(j−k) mod n. m×n A matrix H = [hjk] 2 C is Hankel if hjk = hj+k; that is, if its elements are constant along cross diagonals. m×n A matrix V 2 C is Vandermonde if T 2 vn(α1) 3 T 6 vn(α2) 7 V = 6 7 6 . 7 4 . 5 T vn(αm) for some set of distinct complex nodes fα1; α2; : : : ; αng. Some authors use the transpose of V as the definition of a Vandermonde matrix. Given a set of p distinct complex nodes fα1; α2; : : : ; αpg and a multiset of size n formed from Pp m×n the αk by including nk repetitions of αk, where k=1 nk = n, a matrix V 2 C is confluent Vandermonde if 2V1(α1)3 6V2(α2)7 V = 6 7 ; 6 . 7 4 . 5 Vp(αp) where 2 T 3 vn(α) 6 v0 (α)T 7 6 n 7 Vk(α) = 6 . 7 : 6 . 7 4 . 5 (nk−1) T vn (α) m×n A matrix V 2 C is polynomial Vandermonde if T 2 pn(α1) 3 T 6 pn(α2) 7 V = 6 7 6 . 7 4 . 5 T pn(αm) for some set of distinct complex nodes fα1; α2; : : : ; αng. Fast Algorithms 62-3 m×n A matrix C = [cjk] 2 C is Cauchy if cjk = 1=(αj − βk) for αj 6= βk, j = 1; : : : ; m and k = 1; : : : ; n. m×n m×n An operator ∆: C ! C of the form ∆(A) = A − GAH∗ is a Stein type displacement operator. m×n m×n An operator ∆: C ! C of the form ∆(A) = EA − AH∗ is a Sylvester type displacement operator. m×n m×n An operator ∆: C ! C of the form ∆(A) = EAF ∗ − GAH∗ is a general displacement operator. The displacement rank of a matrix A with respect to a given displacement operator ∆ is the rank of ∆(A). An equation of the form ∆(A) = A − GAH∗ = XY ∗; (62.1) m×n m×r n×r where A 2 C , X 2 C , and Y 2 C with r = rank(∆(A)) is a Stein type displacement equation. An equation of the form ∆(A) = EA − AH∗ = XY ∗; (62.2) m×n m×r n×r where A 2 C , X 2 C , and Y 2 C with r = rank(∆(A)) is a Sylvester type displacement equation. An equation of the form EAF ∗ − GAH∗ = XY ∗; (62.3) m×n m×r n×r where A 2 C , X 2 C , and Y 2 C with r = rank(∆(A)) is a general displacement equation. Given a displacement equation ∆(A) = XY ∗, the matrices X and Y are generators of A. m×n A matrix T 2 C is Toeplitz-like with displacement rank r if T satisfies a displacement equation of the form ∗ ∗ T − ZmTZn = XY (62.4) or ∗ ∗ ∗ Z1;mT − TZδ;n = XY ; (62.5) m×r n×r where X 2 C and Y 2 C . m×n A matrix H 2 C is Hankel-like with displacement rank r if H satisfies a displacement equation of the form ∗ ∗ ZmH − HZn = XY ; m×r n×r where X 2 C and Y 2 C . m×n A matrix V 2 C is Vandermonde-like with displacement rank r if V satisfies a displace- ment equation of the form ∗ DvV − VZδ;n = XY ; (62.6) m×r n×r where X 2 C and Y 2 C . m×n A matrix C 2 C is Cauchy-like with displacement rank r if C satisfies a displacement equation of the form ∗ DvC − CDw = XY ; (62.7) m×r n×r where X 2 C and Y 2 C . 62-4 Handbook of Linear Algebra Facts: 1. Fast algorithms often exploit the fact that a matrix has low displacement rank with respect to a particular displacement operator. However, as seen in Eq. (62.5) and Eq. (62.4), the choice of displacement equation used to define a specific class of struc- tured matrices can vary. Different displacement equations yield different algorithms. What is important algorithmically is that the displacement rank should not vary greatly with the particular choice of displacement operator. 2. [Dav79] A circulant matrix S 2 Cn×n commutes with the cyclic shift matrix and therefore satisfies the displacement equation ∗ ∗ Z1;nS − SZ1;n = 0: ∗ ∗ ∗ ∗ If sj denotes row j of S, then this displacement equation is equivalent to sj+1 = sj Z1;n so that the rows of a circulant are generated by repeated cyclic shifting of the first row. 3. A Toeplitz matrix T 2 Cm×n has displacement rank at most two with respect to the displacement equations 2 3 t0 0 6 t−1 t−1 7 1 t =t ··· t =t T − Z TZ∗ = 6 7 1 0 n−1 0 (62.8) m n 6 . 7 0 −t =t · · · −t =t 4 . 5 1 0 n−1 0 t−m+1 t−m+1 and ∗ ∗ Z1;mT − TZδ;n = 2 3 t−1 − δtn−1 0 6 . 7 6 . 7 1 0 ··· 0 : (62.9) 6 7 0 t − t ··· t − t 4t−m+1 − δt−m+n+1 0 5 1 −m+1 n−1 −m+n−1 t0 − δt−m+n 1 n×n 4. A Hermitian Toeplitz matrix T 2 C with t0 > 0 satisfies ∗ ∗ T − ZnTZn = XΣ1;1X ; where p p p t t = t ··· t = t X∗ = 0 1 p 0 n−1 p 0 : (62.10) 0 t1= t0 ··· tn−1= t0 5. A Hankel matrix H 2 Cm×n has displacement rank two with respect to the displace- T ∗ ment equation ∆(H) = ZmH − HZn = XY . m×n 6. A Vandermonde matrix V 2 C with nodes α1; : : : ; αm has displacement rank one with respect to the displacement equation 2 n 3 α1 − δ 6 . 7 0 ··· 0 1 DvV − VZδ;n = 4 . 5 ; (62.11) n αm − δ m m where v = [αj]j=1 2 C . Fast Algorithms 62-5 7. A Cauchy matrix C 2 Cm×n has displacement rank 1 with respect to 213 617 D C − CD = 6 7 1 1 ··· 1 ; v w 6.7 4.5 1 m m n n where v = [αj]j=1 2 C and w = [βj]j=1 2 C .