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 .