A parallel three-stage algorithm for reduction of a regular matrix pair (A, B) to generalized Schur from (S, T) is presented. The first two stages transform (A, B) to upper Hessenberg-triangular form (H, T) using orthogonal equivalence transformations. The third stage iteratively reduces the matrix in (H, T) form to generalized Schur form. Algorithm and implementation issues regarding the single-/double-shift QZ algorithm are discussed. We also describe multishift strategies to enhance the performance in blocked as well as in parallell
variants of the QZ method.