The Combination Shift $QZ$ Algorithm

An extension of the $QZ$ algorithm, called the combination shift $QZ$ algorithm, is presented for solving the generalized matrix eigenvalue problem $Ax = \lambda Bx$ with real square matrices A and B. Features and properties of the various $QR$-type algorithms which were not practical or possible to implement in the $QZ$ algorithm are generalized and implemented in this new algorithm. The emergence of infinite eigenvalues under exact arithmetic is discussed in detail. Results of numerous test cases are presented to give practical application tests and comparisons for the algorithm.