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. ).

`GUPTRI`:- Reduces to a GUPTRI form
(8.34)-(8.35)
in terms of a unitary equivalence transformation.
The finite nonzero eigenvalues (diagonal elements) of
may appear in any order.
Besides , the user must provide three input parameters
(
`EPSU`,`GAP`, and`ZERO`) that control the computation of the GUPTRI form. These three parameters are also arguments for the MATLAB function (see p. ). `REORDR`:- It is possible directly from the computed GUPTRI decomposition to produce
a pair of reducing subspaces associated with any part of the spectrum
.
The user must then call the routine
`REORDR`and provide an integer function`FTEST(ALPHA, BETA)`, describing the spectrum of the reducing subspace to be computed, as input parameter (see section 6 in [122] for an example).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 . `BOUND`and`EVALBD`:-
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 .