算法4.9所示的收缩正交变换构造显然是稳定的(即,它在各分量上相对精确地表示了在精确算术中得到的变换)。毫无疑问,相似变换Q^* T Q能够完全保留矩阵T的特征值的数值精度。然而,在锁定和/或清除过程中,三对角形式的保持程度存在一个严重的问题。为了确保如果T y = y \theta,则T_+ \equiv Q^* T Q是对称的且在数值上是三对角的(即,非三对角带外的所有元素相对于\Vert T \Vert都是微小的),需要对基本算法进行修改。
T_+ = Q^* T Q为三对角形式依赖于表达式中的项g y^* T R消失:
Q^* T Q = L^*TR + g y^*T R + \theta e_1 e_1^*.
然而,进一步检查发现:
e_1^* Q = e_1^* L + (e_1^* y) g^* = \eta_1 g^*,
其中\eta_1是y的第一个分量。因此,\Vert g \Vert = \frac{1}{\vert \eta_1 \vert}。当y的第一个分量很小时,可能会出现数值困难。具体来说,y^* T = \theta y^*,因此在精确算术中 y^* T R = 0。然而,在有限精度下,计算出的\mathrm{fl}(y^* T) = \theta y^* + z^*。误差z相对于\Vert T \Vert将在\epsilon_M的量级上,但:
\Vert g y^*T R \Vert = \Vert g\Vert \cdot \Vert z^* R \Vert =\frac{1}{\vert \eta_1 \vert} \Vert z^* R \Vert,