Next: Deflating Subspaces
and Condition Up: Generalized
Nonsymmetric Eigenproblems Previous: Eigenvalues, Eigenvectors and Generalized
Contents
Index
The routine xGGBAL may be used to balance the matrix
pair (A,B) prior to reduction to generalized Hessenberg
form. Balancing involves two steps, either of which is
optional:
- 1.
- First, xGGBAL attempts to permute (A,B)
by an equivalence transformation to block upper triangular form:
where P1 and P2 are permutation
matrices and
,
,
and
are upper triangular. Thus the matrix pair is already in generalized
Schur form outside the central diagonal blocks
and
in rows and columns ILO to IHI. Subsequent operations by xGGBAL,
xGGHRD or xHGEQZ need only be applied to these rows and columns; therefore
ILO and IHI are passed as arguments to xGGHRD and xHGEQZ. This can
save a significant amount of work if ILO > 1 or IHI <
n. If no suitable permutations can be found (as is very
often the case), xGGBAL sets ILO = 1 and IHI = n,
and
is the whole of A and
is the whole of B.
- 2.
- Secondly, xGGBAL applies diagonal equivalence transformations
to
to attempt to make the matrix norm smaller with respect to the
eigenvalues and tries to reduce the inaccuracy contributed by roundoff
[100]:
This can improve the accuracy of later processing in some cases; see
subsection 4.11.1.2.
If the matrix pair (A,B) was balanced by xGGBAL,
then eigenvectors computed by subsequent operations are eigenvectors of the
balanced matrix pair
. xGGBAK must then be called to transform them back to eigenvectors
of the original matrix pair (A,B). Note that these transformations
can improve speed and accuracy of later processing in some cases; however,
the diagonal transformation step can occasionally make the norm of the pencil
larger and hence degrade the accuracy.
Next: Deflating Subspaces
and Condition Up: Generalized
Nonsymmetric Eigenproblems Previous: Eigenvalues, Eigenvectors and Generalized
Contents
Index
Susan Blackford
1999-10-01