Finding the eigenvalues and eigenvectors of a pair of nonsymmetric
matrices 174#174 is done in the following stages:

174#174 is decomposed as
244#244, where 132#132
and 245#245 are unitary (orthogonal in the real case),
135#135 is upper Hessenberg, 74#74 is upper
triangular, and 246#246 is the conjugate transpose of 132#132.

247#247 is decomposed as
248#248, where 64#64
and 88#88 are unitary (orthogonal in the real case),
249#249 is in generalized Schur form, where 250#250 is upper
(quasi)-triangular and 85#85 is upper triangular with
non-negative real diagonal entries and 250#250 is in Schur form; this
also gives the generalized eigenvalues 138#138, which are
expressed as pairs
251#251, where
252#252.

The left and right generalized eigenvectors 253#253 and 254#254 for
the pair 249#249 are computed, and from them the
back-transformed eigenvectors 255#255 and 256#256 for
the matrix pair 247#247. The eigenvectors are normalized so that
their largest element has absolute value 13.
(Note that eigenvectors corresponding to singular eigenvalues,
i.e., eigenvalues for which
259#259, are not well
defined, these are not tested in the eigenvector tests described
below.)

To check these calculations, the following test ratios are computed:

260#260

All norms are 261#261. The scalings in the test ratios assure that
the ratios will be 124#124, independent of 262#262 and 203#203, and
nearly independent of 4#4.

When the test program is run, these test ratios will be compared with a
user-specified threshhold THRESH, and for each test ratio that exceeds
THRESH, a message is printed specifying the test matrix, the ratio that
failed, and its value. A sample message is

In this example, the test matrix was of order 146#146 and of type 18 from
Table 6, ``seed'' is the initial 4-integer seed of the
random number generator used to generate 16#16 and 97#97, and ``result''
specifies that test ratio 147#147 failed to pass the threshhold, and its
value was 148#148.

The normalization of the eigenvectors will also be checked. If the absolute
value of the largest entry in an eigenvector is not within 203#203
181#181 THRESH of 1, then a message is printed specifying the error.
A sample message is