A typical user will call four of the routines, namely
GUPTRI, REORDR, BOUND, and EVALBD.
In the following we give a brief description of the functionality of
these routines. We believe that the best way to get acquainted with
singular or near to singular problems and the GUPTRI form
is to start using the MATLAB interface of the
GUPTRI routine (see p. ).
Given that the specified regular part of is in upper triangular
form, the
diagonal blocks (the generalized
eigenvalues) are reordered using pairs of Givens rotations which are
accumulated in previous transformation matrices
and
.
After the reordering, the eigenvalues specified by the function FTEST
appear in
(8.36), i.e.,
at the top northwest corner of the specified regular part of
and the corresponding pair of reducing subspaces can easily be read off
from the leading columns of
and
.
Error bounds for reducing subspaces and generalized eigenvalues are presented
in [119,122].
We have illustrated by examples that eigenvalues and
reducing subspaces are ill posed, which means that extra conditions on
allowable perturbations and
of
and
must
be imposed. BOUND and EVALBD compute error bounds for pairs
of reducing subspaces, as well as for selected eigenvalues of the regular part.
For the reducing subspace error bounds, it is required that
has reducing subspaces of the
same dimension as
.
For the eigenvalue bounds, it is additionally required that
has the same
number of eigenvalues in its selected regular part.
Both of these conditions are automatically verified by the software.
Based on input parameters, BOUND decides which perturbation theorem
is applicable and computes the required quantities in error bounds
for eigenvalues and reducing subspaces.
EVALBD takes the output of BOUND and
evaluates the reducing subspace bounds of
the appropriate theorem for
a given input
.