Fast Gaussian Elimination with Partial Pivoting for Matrices With
Total Page:16
File Type:pdf, Size:1020Kb
Fast Gaussian Elimination with Partial Pivoting for Matrices with Displacement Structure y yz I.Gohb erg T.Kailath and V.Olshevsky Abstract 2 implementation of Gaussian elimination with partial pivoting is designed Fast O n for matrices p ossessing Cauchy-like displacement structure. We show how Toeplitz{ like, Toeplitz-plus-Hankel{like and Vandermonde-like matrices can b e transformed into Cauchy{like matrices by using Discrete Fourier, Cosine or Sine Transform matrices. 2 In particular this allows us to prop ose a new fast O n To eplitz solver GKO, which incorp orates partial pivoting. A large set of numerical examples showed that GKO demonstrated stable numerical b ehavior and can be recommended for solving linear systems, esp ecially with nonsymmetric, inde nite and ill-conditioned p ositive de nite To eplitz matrices. It is also useful for blo ck To eplitz and mosaic To eplitz To eplitz{blo ck matrices. The algorithms prop osed in this pap er suggest an attractive alternative to lo ok- ahead approaches, where one has to jump over ill-conditioned leading submatrices, 3 which in the worse case requires O n op erations. Key words. Gaussian elimination, partial pivoting, displacement structure, To eplitz- like, Cauchy-like, Vandermonde-like, To eplitz-plus-Hankel matrix, Schur algorithm, Levin- son algorithm. AMS sub ject classi cation. 15A06, 15A09, 15A23, 15A57, 65F05, 65H10. 0 Intro duction nn nn 0.1. Displacement structure. Let matrices F , A 2 C be given. Let R 2 C be a matrix satisfying a Sylvester typ e equation r R=F RRA=GB; 0.1 fF;Ag Scho ol of Mathematical Sciences, Tel Aviv University, Ramat Aviv 69978, Israel, e-mail : go- hb ergmath.tau.ac.il y Information Systems Lab oratory, Stanford University, Stanford CA 94305 { 4055, U.S.A., e-mail : tkras- cals.stanford.edu, olshevskrascals.stanfo d.edu z This researchwas supp orted in part by the Army Research Oce under GrantDAAH04-93-G-0029. This manuscript is submitted for publication with the understanding that the US Government is authorized to repro duce and distribute reprints for Government purp oses notwithstanding any copyright notation hereon. 1 n n with some rectangular matrices G 2 C , B 2 C , where number is small in compari- son with n. The pair of matrices G; B in 0.1 is referred to as a fF; Ag-generator of R and the smallest p ossible inner size among all fF; Ag-generators is called a fF; Ag-displacement rank of R . The concept of displacement structure was rst intro duced in [KKM] using Stein nn nn typ e displacement op erator r : C !C , given by fF;Ag r R=RF RA: 0.2 fF;Ag The variant 0.1 of displacement equation app eared later in [HR]. The left hand sides of 0.2 and 0.1 are often referred to as To eplitz{like and Hankel{like displacement op erators, resp ectively. The most general form of displacement structure, which clearly includes 0.1 and 0.2, was intro duced in [KS1] using the op erator r R = R F RA : 0.3 f ;;F ;Ag A standard Gaussian elimination scheme applied for triangular factorization of R would 3 require p erforming O n op erations. At the same time displacement structure allows us to sp eed up the triangular factorization of a matrix, or equivalently, Gaussian elimination. 2 This sp eed up is not unexp ected, since all n entries of a structured matrix are completely determined by a smaller number 2 n of the entries of its generator fG; B g in the right hand side of 0.1. Moreover, translating the Gaussian elimination pro cedure into appropriate 2 op erations on generator gives fast O n algorithms. This was rst implicitly done by Schur in [S] for Hermitian To eplitz matrices and for certain generalizations thereof, which were called quasi-To eplitz matrices in [LAK]. Then it was progressively extended to more general displacement structures by Kailath and his colleagues. The most general results were presented in [KS1] see also [KS2] . The name generalized Schur algorithm was coined there for any fast implementation of Gaussian elimination exploiting displacement structure as in 0.3. 0.2. Basic classes of structured matrices. The nowwell known classes of To eplitz{ like matrices, Vandermonde{like, or Cauchy{like matrices, etc, can be intro duced by using any form 0.1 or 0.2 of displacement equation see e.g. [KKM], [HR], [CK1], [AG], [GO2] . For our purp oses in this pap er it will be more convenient to exploit the Sylvester typ e displacement op erator as in 0.1. Particular choices of matrices F and A in 0.1 lead to the de nitions of basic classes of structured matrices, e.g., Toeplitz{like [KKM] : F = Z , A = Z ; 1 1 Toeplitz{plus{Hankel{like : F = Y , A = Y ; 00 11 [HJR], [GK], [SLAK] Cauchy{like [HR] : F = diagc ; :::; c , A = diagd ; :::; d ; 1 n 1 n 1 1 Vandermonde{like [HR], [GO2] : F = diag ; :::; , A = Z ; 1 x x n 1 Chebyshev{Vandermonde{like [KO1] : F = diagx ; :::; x , A = Y . 1 n ; Here 1 0 0 0 0 0 . 1 0 0 . 1 0 1 . 0 1 . ; 0.4 ; Y = Z = . ; 0 1 0 . 0 1 0 0 1 0 0 0 1 2 T T T i.e. Z is the lower shift {circulant matrix and Y = Z +Z + e e +e e . The reason for ; 0 1 n 0 1 n such designations may b e seen from the easily veri ed fact that the shift-invariance prop erty t of a To eplitz matrix T = implies that that the fZ ;Z g-displacement rank of ij 1 1 1i;j n anyTo eplitz matrix do es not exceed 2. Therefore a matrix with low fZ ;Z g{displacement 1 1 rank is referred to as a To eplitz{like matrix. Similar justi cation for the other typ es of displacement structure will b e given in the main text b elow. nn 0.3. Transformation of structured matrices and pivoting. Let R 2 C satisfy nn the displacement equation 0.1, and let T ;T 2 C be two invertible matrices. It is 1 2 1 ^ straightforward to see that the matrix R = T R T satis es 2 1 ^ ^ ^ ^ ^ ^ ^ r R= F RRA = GB; ^ ^ fF;Ag 1 1 1 ^ ^ ^ ^ with F = T F T ; A = T A T ; G = T G; B = B T : This 1 2 2 1 2 1 enables one to change the form of the matrices F and A in the displacement equation and therefore to transform a structured matrix from one class to another. Ideas of this kind were utilized earlier by various authors. In [P], the translation of a matrix from one structured class to another was discussed in the context of the extension of known structured algorithms to the other basic structured classes. In [GO2] this technique was utilized for transformation of Vandermonde{like matrices and Cauchy{like matrices into To eplitz{like matrices; this allowed us to exploit the FFT for reducing the complexity of computing matrix{vector pro ducts for matrices from all basic structured classes. The judicious use of the transformation of To eplitz{like matrices to generalized Cauchy matrices, i.e., matrices of the form T z y j i C = z ;y 2 C ; 0.5 i i c d i j 1i;j n was suggested in [H]. The p oint is that a generalized Cauchy matrix clearly retains of the same form 0.5 after any p ermutation of columns and rows; this allows incorp orating pivoting techniques into fast algorithms for generalized Cauchy matrices. Clearly, the matrix C p ossesses a Cauchy{like displacement structure, i.e., it satis es T z z z 0.1 with F and A sp eci ed in subsection 0.2, and with G = ; B = 1 2 n y y y . However one must imp ose the restriction c 6= d 1 i; j n. It is a 1 2 n i j well known fact that the inverse of a structured matrix also p ossesses a similar displacement structure see e.g. [KKM], [HR], [CK1], [GO2], [KS2] . In particular the inverse of the generalized Cauchy matrix in 0.5 is a matrix of the same form, i.e. T x w 1 j i C = 0.6 d c i j 1i;j n with some x ;w 2 C . A fast algorithm with partial pivoting was suggested by Heinig [H] i i for inversion and solving linear systems with generalized Cauchy matrices. This algorithm 2 op erations the vectors x ;w 2 C computes in O n in 0.6, then the linear system i i 1 C x = b is solved by computing the matrix{vector pro duct C b. Heinig's algorithm is of the Levinson typ e and it involves inner pro duct calculations; it was shown in [H] that this disadvantage can b e avoided by precomputing certain residuals. The algorithm for this purp ose is of the Schur typ e; however the implicitly computed triangular factorization of C was not exploited in [H]. 3 In [GO3], [GO4] a fast implementation of Gaussian elimination with partial pivoting fast GEPP was designed for Cauchy{like matrices in the context of the factorization 2 problem for rational matrix functions. This algorithm computes in O n op erations the 2 triangular factorization of C , then the linear system is solved in O n op erations via forward and back-substitution [GL].