Parallel Two-Stage Reduction of a Regular Matrix Pair to Hessenberg-Triangular Form
Lecture Notes in Computer Science
A parallel two-stage ScaLAPACK-style algorithm for reduction of a regular matrix pair (A; B) to Hessenberg-triangular form is presented. Stage one reduces the matrix pair to (Hr; T) form where Hr is upper r-Hessenberg with r subdiagonals and T is upper triangular. In the second stage of the reduction algorithm all but one of the subdiagonals of the upper r-Hessenberg A-part are set to zero using Givens rotations. The resulting condensed form Q T (A; B)Z = (H; T), where H and T are upper
... rg and upper triangular, respectively, and Q and Z are orthogonal, may serve as a rst step in the solution of the generalized eigenvalue problem Ax = Bx. In this contribution we present a parallel two-stage algorithm for reduction of a regular matrix pair (A; B) to Hessenberg-triangular form (H; T). This important two-sided reduction operation is, for example, used as the rst major step when solving the generalized eigenvalue problem Ax = Bx, where A and B are square real n n matrices. Typically, the second major step is to iteratively apply a QZ-like algorithm 9, 7] to the condensed matrix pair (H; T) to obtain the desired generalized Schur (GS) form (S; T), where S is upper quasi-triangular and T is upper triangular. A quasi-triangular matrix is block upper triangular with 1 1 and 2 2 blocks on the diagonal. The 2 2 blocks on the diagonal of S ? T correspond to pairs of complex conjugate eigenvalues. The real eigenvalues are given by (s ii ; t ii ) 6 = (0; 0) (i.e., the 1 1 diagonal blocks of (S; T)). The nite eigenvalues are s ii =t ii , where t ii 6 = 0. If (s ii ; t ii ) 6 = (0; 0) for all i, then (A; B) is a regular matrix pair. In this paper we focus on the reduction to (H; T) form. An elementwise (sequential) algorithm for this operation is described in 8] and implemented in the LAPACK library routine DGGHRD 1]. Since the algorithm is unblocked the reuse of cached data is low and this is the price we have to pay if we want to compute a condensed form where H is upper Hessenberg in one stage. Our ScaLAPACK-style 2] (parallel) algorithm presented here is instead based on the blocked two-stage algorithm described in 7]. Stage one reduces the matrix pair to (H r ; T) form where H r is upper r-Hessenberg with r > 1 subdiagonals and T is upper triangular. In stage two, the desired Hessenberg-triangular form (H; T) is computed.