In the code fragment we approximate the numerator of the last expression by
and approximate the denominator by
in order to compute SERRBD;
STRCON returns an approximation RCOND to
.

We assume that the rank r of G equals n, because otherwise the
s and s are not well determined. For example, if

then A and B have
and
,
whereas
A' and B' have
and
,
which
are completely different, even though
and
.
In this case,
,
so G is nearly rank-deficient.

The reason the code fragment assumes
is that in this case
is
stored overwritten on A, and can be passed to STRCON in order to compute
RCOND. If ,
then the
first m rows of
are
stored in A, and the last n-m rows of
are stored in B. This
complicates the computation of RCOND: either
must be copied to
a single array before calling STRCON, or else the lower level subroutine SLACON
must be used with code capable of solving linear equations with
and
as coefficient matrices.