By construction the KCF of this example is . We compute the GUPTRI form of by the call

i.e., we use the default values on

S = 0 0 -31.2179 69.7186 -142.6727 0 0 0 15.8532 -42.1039 0 0 0 -15.5639 -3.4712 0 0 0 0 13.5979 0 0 0 0 0 T = 0 -21.5942 -22.1660 44.5153 -110.9818 0 0 -25.0581 19.3190 -43.8905 0 0 0 -7.7820 9.2041 0 0 0 0 0 0 0 0 0 0 P = 0.2697 0.4520 0.8072 0.0226 -0.2660 0.4045 0.5101 -0.4985 0.5400 -0.1900 0.6742 -0.3818 0.1705 0.2136 0.5701 0.1348 0.5620 -0.1771 -0.6188 0.5017 0.5394 -0.2718 -0.1986 -0.5285 -0.5625 Q = -0.4044 0.1510 0.4636 0.7253 -0.2697 0.6985 -0.4097 0.1200 0.1975 -0.5394 0.1470 0.6896 -0.5633 0.1481 -0.4045 -0.4044 -0.0310 0.1859 -0.5886 -0.6742 -0.4044 -0.5769 -0.6471 0.2582 -0.1348 kstr = 2 1 0 -1 2 0 -1 1 -1 1 1 0 -1 1 0 -1 1 -1

The first part of `kstr` (all the columns to the left of the first `-1`)
shall be interpreted as follows:

- The number of blocks is .
- The number of blocks is .

The second part of `kstr` contains the corresponding information
about and blocks and the third contains information
about the size of the regular part.
For this example we see that the computed GUPTRI form has the
expected Kronecker structure, including one block
(
), one
block (
),
one block (
),
one block (
),
and finally a regular part corresponding
to the finite nonzero eigenvalue 2 (
).
The block corresponds to and having a common column
null space (both and have a first column with zero entries).
Similarly, the block corresponds to and having a common
row null space (both and have a last row with zero entries).
Since and are the only singular blocks,
is of size and
is of size .
The remaining Kronecker structure in the GUPTRI form is
contained in
and
, i.e.,
rows 1 to 4 and columns 2 to 5 of and :
,
,
and finally
.

The computed transformation matrices and are orthogonal
to machine precision accuracy.
Moreover,

is an upper bound on the distance to the closest with the KCF of , where and . For this example, is of size , where is the machine precision.

By setting
and making the call (with the
default values on `EPSU` and `GAP`)

we perform a true equivalence transformation of :

S = -2.9227e-15 0 3.1218e+01 6.9719e+01 -1.4267e+02 2.0749e-15 -3.0175e-15 1.7377e-14 1.5853e+01 -4.2104e+01 -5.4031e-15 -1.7747e-15 8.8818e-16 -1.5564e+01 -3.4712e+00 1.6694e-15 -4.4157e-15 2.2204e-15 0 1.3598e+01 -8.3206e-16 3.1071e-16 1.9984e-15 -2.2204e-16 0 T = -6.9809e-31 2.1594e+01 2.2166e+01 4.4515e+01 -1.1098e+02 3.4328e-31 0 2.5058e+01 1.9319e+01 -4.3890e+01 1.7764e-15 0 0 -7.7820e+00 9.2041e+00 -5.5511e-16 0 0 0 -7.5221e-15 0 0 0 0 3.1465e-15The tiny nonzero elements in the lower triangular parts of and correspond to the singular values that are interpreted as numerically zero in the rank determination process of the GUPTRI algorithm. The results with the default value on

We end the discussion by exposing our seemingly harmless
example to the MATLAB function `eig`.
The call `[V,D] = eig(A,B)` is supposed to compute
a diagonal eigenvalue matrix and a full matrix whose
columns are the corresponding eigenvectors so that
.
MATLAB computes a with the diagonal entries

-1.8351e+16 2.0000e+00 7.2695e-01 - 4.1359e-25i -6.2535e-16 + 2.4399e-08i -5.9077e-16 - 2.4399e-08iand an eigenvector matrix with condition number . The large condition number and the residual signal that this is not a harmless example and further investigations are necessary. We conclude that it is only by software tools like