5.8 矩阵的逆和线性方程组的解的误差 作为矩阵范数和向量范数的应用,我们来估计在求矩阵的逆和求线性方程组的解的过程中所引起的误差.
如果给定了非奇异矩阵 A ∈ M n A \in M_{n} A ∈ M n ,可以设想能够准确地计算出逆矩阵 A − 1 A^{-1} A − 1 ,但是,如果计算是在数字计算机上用有限长的计算机字符来完成,则不可避免地要出现舍入误差和舍位误差。另外,即使能十分准确地完成所有计算,但可能有这种情形,矩阵 A A A 的有些元素是某些实验的结果或某些必然会出现误差的计算结果,因此,就不可能十分精确地知道这些结果。那么,计算中的误差和数据中的误差如何影响要计算的逆矩阵呢?
对于许多普通的算法,可以证明,在计算中的舍入误差可以用同一种方式模拟成数据中的误差。也就是说,如果假定 A ∈ M n A \in M_n A ∈ M n 是给定的非奇异矩阵,并且想计算 A − 1 A^{-1} A − 1 ,而实际计算的可能是 ( A + E ) − 1 (A + E)^{-1} ( A + E ) − 1 ,其中 E ∈ M n E \in M_n E ∈ M n 是足够小的矩阵,且使 A + E A + E A + E 为可逆矩阵。于是,误差是 A − 1 − ( A + E ) − 1 = A − 1 − ( I + A − 1 E ) − 1 A − 1 A^{-1} - (A + E)^{-1} = A^{-1} - (I + A^{-1}E)^{-1}A^{-1} A − 1 − ( A + E ) − 1 = A − 1 − ( I + A − 1 E ) − 1 A − 1 。如果 ρ ( A − 1 E ) < 1 \rho(A^{-1}E) < 1 ρ ( A − 1 E ) < 1 ,则 A + E A + E A + E 就是可逆矩阵,且我们可以把 ( I + A − 1 E ) − 1 (I + A^{-1}E)^{-1} ( I + A − 1 E ) − 1 写成 A − 1 E A^{-1}E A − 1 E 的幂级数,这就给出
A − 1 − ( A + E ) − 1 = A − 1 − ∑ k = 0 ( − 1 ) k ( A 1 E ) k A − 1 = ∑ k = 1 ( − 1 ) k + 1 ( A 1 E ) k A 1 . A ^ {- 1} - (A + E) ^ {- 1} = A ^ {- 1} - \sum_ {k = 0} (- 1) ^ {k} (A ^ {1} E) ^ {k} A ^ {- 1} = \sum_ {k = 1} (- 1) ^ {k + 1} (A ^ {1} E) ^ {k} A ^ {1}. A − 1 − ( A + E ) − 1 = A − 1 − k = 0 ∑ ( − 1 ) k ( A 1 E ) k A − 1 = k = 1 ∑ ( − 1 ) k + 1 ( A 1 E ) k A 1 . 因此,关于这个误差的精确公式:
A t − ( A + E ) − 1 = ∑ k = 1 ′ ( − 1 ) k + 1 ( A − 1 E ) k A − 1 , 如 果 ρ ( A 1 E ) < 1. (5.8.1) A ^ {t} - (A + E) ^ {- 1} = \sum_ {k = 1} ^ {\prime} (- 1) ^ {k + 1} (A ^ {- 1} E) ^ {k} A ^ {- 1}, \text {如 果} \rho (A ^ {1} E) < 1. \tag {5.8.1} A t − ( A + E ) − 1 = k = 1 ∑ ′ ( − 1 ) k + 1 ( A − 1 E ) k A − 1 , 如 果 ρ ( A 1 E ) < 1. ( 5.8.1 ) 现在假定 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 是给定的矩阵范数,且假定 ∥ A − 1 E ∥ < 1 \| A^{-1}E\| < 1 ∥ A − 1 E ∥ < 1 ,因而特别有 ρ ( A − 1 E ) < 1 \rho (A^{-1}E) < 1 ρ ( A − 1 E ) < 1 和(5.8.1)成立.于是
∥ A − 1 ⋅ ( A + E ) 1 ∥ = ∥ ∑ k = 1 ∞ ( 1 ) k − 1 ( A 1 E ) k A − 1 ∥ \left\| A ^ {- 1} \cdot (A + E) ^ {1} \right\| = \left\| \sum_ {k = 1} ^ {\infty} (1) ^ {k - 1} (A ^ {1} E) ^ {k} A ^ {- 1} \right\| A − 1 ⋅ ( A + E ) 1 = k = 1 ∑ ∞ ( 1 ) k − 1 ( A 1 E ) k A − 1 334
⩽ ∑ k = 1 ′ ∥ A 1 E ∗ ∥ A − 1 ∥ = ∥ A 1 E ∥ 1 − ∥ A − 1 E ∥ ∥ A − 1 ∥ , (335) \leqslant \sum_ {k = 1} ^ {\prime} \| A ^ {1} E ^ {*} \| A ^ {- 1} \| = \frac {\| A ^ {1} E \|}{1 - \| A ^ {- 1} E \|} \| A ^ {- 1} \|, \tag {335} ⩽ k = 1 ∑ ′ ∥ A 1 E ∗ ∥ A − 1 ∥ = 1 − ∥ A − 1 E ∥ ∥ A 1 E ∥ ∥ A − 1 ∥ , ( 335 ) 由此得出,求逆过程中所引起的相对误差的一个上界是
∥ A 1 − ( A + E ) 1 ∥ ∥ A 1 ∥ ⩽ ∣ A − 1 E ∥ 1 − ∣ A − 1 E ∥ . 如 果 ∣ A − 1 E ∥ < 1. (5.8.2) \frac {\left\| A ^ {1} - (A + E) ^ {1} \right\|}{\left\| A ^ {1} \right\|} \leqslant \frac {\left| A ^ {- 1} E \right\|}{1 - \left| A ^ {- 1} E \right\|}. \text {如 果} \left| A ^ {- 1} E \right\| < 1. \tag {5.8.2} ∥ A 1 ∥ A 1 − ( A + E ) 1 ⩽ 1 − ∣ A − 1 E ∥ A − 1 E . 如 果 A − 1 E < 1. ( 5.8.2 ) 另外,如果让 E E E 足够“小”,以至 ∥ E ∥ < 1 / ∥ A − 1 ∥ \| E\| < 1 / \| A^{-1}\| ∥ E ∥ < 1/∥ A − 1 ∥ ,则 ρ ( A − 1 E ) ⩽ ∥ A − 1 E ∥ ⩽ ∥ A − 1 ∥ E ∥ < 1 \rho (A^{-1}E)\leqslant \| A^{-1}E\| \leqslant \| A^{-1}\| E\| < 1 ρ ( A − 1 E ) ⩽ ∥ A − 1 E ∥ ⩽ ∥ A − 1 ∥ E ∥ < 1 且有估计式
∣ A − 1 − ( A ∣ E ) − 1 ∣ ∥ A − 1 ∣ ⩽ ∣ A − 1 ∣ ∣ E ∣ 1 − ∣ A − 1 ∣ ∣ E ∣ = ∥ A − 1 ∥ ∥ A 1 ( ∥ E ∣ / ∣ A ∣ ) 1 − ∥ A − 1 ∥ ∥ A 1 ( ∥ E ∣ / ∣ A ∣ ) . \frac {\left| A ^ {- 1} - (A \mid E) ^ {- 1} \right|}{\left\| A ^ {- 1} \right|} \leqslant \frac {\left| A ^ {- 1} \right| \left| E \right|}{1 - \left| A ^ {- 1} \right| \left| E \right|} = \frac {\left\| A ^ {- 1} \right\| \left\| A _ {1} \left(\left\| E \right| / \left| A \right|\right) \right.}{1 - \left\| A ^ {- 1} \right\| \left\| A _ {1} \left(\left\| E \right| / \left| A \right|\right) \right.}. ∥ A − 1 ∣ A − 1 − ( A ∣ E ) − 1 ⩽ 1 − ∣ A − 1 ∣ ∣ E ∣ A − 1 ∣ E ∣ = 1 − ∥ A − 1 ∥ ∥ A 1 ( ∥ E ∣ / ∣ A ∣ ) A − 1 ∥ A 1 ( ∥ E ∣ / ∣ A ∣ ) . 数
κ ( A ) ≡ { ∥ A − 1 ∥ ∥ A ∥ 如 果 A 是 非 奇 异 矩 阵 ; ∞ 如 果 A 是 奇 异 矩 阵 (5.8.3) \kappa (A) \equiv \left\{ \begin{array}{l l} \| A ^ {- 1} \| \| A \| & \text {如 果} A \text {是 非 奇 异 矩 阵}; \\ \infty & \text {如 果} A \text {是 奇 异 矩 阵} \end{array} \right. \tag {5.8.3} κ ( A ) ≡ { ∥ A − 1 ∥∥ A ∥ ∞ 如 果 A 是 非 奇 异 矩 阵 ; 如 果 A 是 奇 异 矩 阵 ( 5.8.3 ) 称为矩阵逆关于矩阵范数 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 的条件数。注意 κ ( A ) = ∥ A − 1 ∥ A ∥ ⩾ ∥ A − 1 A ∥ = ∣ I ∣ ⩾ 1 \kappa(A) = \| A^{-1} \| A \| \geqslant \| A^{-1} A \| = |I| \geqslant 1 κ ( A ) = ∥ A − 1 ∥ A ∥ ⩾ ∥ A − 1 A ∥ = ∣ I ∣ ⩾ 1 对任意矩阵范数都成立。
利用这个记号,有估计式
∣ A − 1 − ( A + E ) − 1 ∣ ∥ A − 1 ∥ ⩽ κ ( A ) 1 − κ ( A ) ( ∥ E 2 / ∥ A − 1 ∥ ) ∥ E ∥ ∥ A ∥ , 如 果 ∥ E 1 ∥ ∥ A − 1 ∥ < 1 , (5.8.4) \frac {\left| A ^ {- 1} - (A + E) ^ {- 1} \right|}{\left\| A ^ {- 1} \right\|} \leqslant \frac {\kappa (A)}{1 - \kappa (A) \left( \right.\left\| \right. E ^ {2} / \left\| A ^ {- 1} \right\|\left. \right)} \frac {\left\| E \right\|}{\left\| A \right\|}, \text {如 果} \left\| E _ {1} \right\|\left\| A ^ {- 1} \right\| < 1, \tag {5.8.4} ∥ A − 1 ∥ A − 1 − ( A + E ) − 1 ⩽ 1 − κ ( A ) ( ∥ E 2 / ∥ A − 1 ∥ ) κ ( A ) ∥ A ∥ ∥ E ∥ , 如 果 ∥ E 1 ∥ A − 1 < 1 , ( 5.8.4 ) 它用数据的相对误差表示矩阵逆的相对误差的界。对小的 ∥ E ∥ \| E \| ∥ E ∥ ,右边为数量级 κ ( A ) ∥ E ∥ / ∥ A ∥ \kappa(A) \| E \| / \| A \| κ ( A ) ∥ E ∥/∥ A ∥ ,所以有充足的理由相信,只要 κ ( A ) \kappa(A) κ ( A ) 不很大,矩阵逆的相对误差与数据的相对误差就为同一个数量级,为了求逆的实际需要,如果 κ ( A ) \kappa(A) κ ( A ) 较大,称 A A A (关于矩阵范数 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 为病态的或坏条件的;如果 κ ( A ) \kappa(A) κ ( A ) 较小(接近于1),就称 A A A (关于矩阵范数 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 为良态的;如果 κ ( A ) = 1 \kappa(A) = 1 κ ( A ) = 1 ,就称 A A A (关于范数 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 为优态的。
在采用的范数是谱范数的普通情形,条件数有一个有趣的几何特征。设 θ ( A ) \theta(A) θ ( A ) 表示当 x x x 和 y y y 取遍所有正交单位向量偶时向量 A x Ax A x 与 A y Ay A y 间的最小角。利用谱范数, κ ( A ) = cot [ θ ( A ) / 2 ] \kappa(A) = \cot[\theta(A)/2] κ ( A ) = cot [ θ ( A ) /2 ] 。因此,若 A A A 是酉矩阵,则 θ ( A ) = π / 2 \theta(A) = \pi/2 θ ( A ) = π /2 且 cot ( π / 4 ) = 1 = κ ( A ) \cot(\pi/4) = 1 = \kappa(A) cot ( π /4 ) = 1 = κ ( A ) 。若 A A A “近乎奇异矩阵”,则有某个正交单位向量偶 x , y x, y x , y ,使得 A x Ax A x “几乎平行”于 A y Ay A y , θ ( A ) \theta(A) θ ( A ) 就会很小,而 κ ( A ) = cot [ θ ( A ) / 2 ] \kappa(A) = \cot[\theta(A)/2] κ ( A ) = cot [ θ ( A ) /2 ] 就会很大。欲知详情,请参看例(7.4.26)。
练习 证明,如果 A ∈ M n A \in M_{n} A ∈ M n 可逆,则 κ ( A ) = κ ( A − 1 ) \kappa(A) = \kappa(A^{-1}) κ ( A ) = κ ( A − 1 ) 。
练习 证明,如果 U , V ∈ M κ U, V \in M_{\kappa} U , V ∈ M κ 是酉矩阵,且采用谱范数(或者任何其他酉不变范数),则 κ ( A ) = κ ( U A ) = κ ( A Y ) = κ ( U A V ) \kappa(A) = \kappa(UA) = \kappa(AY) = \kappa(UAV) κ ( A ) = κ ( U A ) = κ ( A Y ) = κ ( U A V ) 。因此,一个给定矩阵的酉变换不会使它比原有的性态更加病态。这个论断为许多稳定数值线性代数算法奠定了基础。
练习 证明总有 κ ( A B ) ⩽ κ ( A ) κ ( B ) \kappa(AB) \leqslant \kappa(A)\kappa(B) κ ( A B ) ⩽ κ ( A ) κ ( B ) . κ ( ⋅ ) \kappa(\cdot) κ ( ⋅ ) 是 M n M_{n} M n 上的矩阵范数或向量范数吗?
利用上述这些条件同样可以对线性方程组解的精确性给出先验的界。假定希望解方程组
A r = b , A ∈ M n , b ∈ C n (5.8.5) A r = b, A \in M _ {n}, b \in \mathbf {C} ^ {n} \tag {5.8.5} A r = b , A ∈ M n , b ∈ C n ( 5.8.5 ) 但是,因为计算上的误差或数据不精确,实际上是解方程组
336
( A + E ) x ^ = b , A , E ∈ M n , b ∈ C ′ ′ . (5.8.6) (A + E) \hat {x} = b, A, E \in M _ {n}, b \in \mathbf {C} ^ {\prime \prime}. \tag {5.8.6} ( A + E ) x ^ = b , A , E ∈ M n , b ∈ C ′′ . ( 5.8.6 ) 关于误差 x ∼ x ^ x \sim \hat{x} x ∼ x ^ ,可以说些什么呢?
如果 E E E 足够“小”,使得 ρ ( A − 1 E ) < 1 \rho(A^{-1}E) < 1 ρ ( A − 1 E ) < 1 ,则根据(5.8.1)有
x − x ^ = A 1 b − ( A + E ) 1 b = [ A 1 − ( A + E ) 1 ] b = ∑ k = 1 3 ( − 1 ) k + 1 ( A − 1 E ) k A − 1 b = ∑ k = 1 3 ( − 1 ) k + 1 ( A − 1 E ) k x . \begin{array}{l} x - \hat {x} = A ^ {1} b - (A + E) ^ {1} b = \left[ A ^ {1} - (A + E) ^ {1} \right] b \\ = \sum_ {k = 1} ^ {3} (- 1) ^ {k + 1} (A ^ {- 1} E) ^ {k} A ^ {- 1} b = \sum_ {k = 1} ^ {3} (- 1) ^ {k + 1} (A ^ {- 1} E) ^ {k} x. \\ \end{array} x − x ^ = A 1 b − ( A + E ) 1 b = [ A 1 − ( A + E ) 1 ] b = ∑ k = 1 3 ( − 1 ) k + 1 ( A − 1 E ) k A − 1 b = ∑ k = 1 3 ( − 1 ) k + 1 ( A − 1 E ) k x . 如果 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 是矩阵范数,且 ∣ A − 1 E ∣ < 1 |A^{-1}E| < 1 ∣ A − 1 E ∣ < 1 ,又如果 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 是相容向量范数,则关于误差的范数的上界是
∥ x − x ^ ∥ ⩽ ∑ k = 1 ∞ ∥ A 1 E ∥ k ∥ x ∥ = ∥ A 1 E ∥ 1 − ∥ A − 1 E ∥ ∥ x ∥ . \| x - \hat {x} \| \leqslant \sum_ {k = 1} ^ {\infty} \| A ^ {1} E \| ^ {k} \| x \| = \frac {\| A ^ {1} E \|}{1 - \| A ^ {- 1} E \|} \| x \|. ∥ x − x ^ ∥ ⩽ k = 1 ∑ ∞ ∥ A 1 E ∥ k ∥ x ∥ = 1 − ∥ A − 1 E ∥ ∥ A 1 E ∥ ∥ x ∥. 关于相对误差,这说明,如果 ∥ A − 1 E ∥ < 1 \| A^{-1}E\| < 1 ∥ A − 1 E ∥ < 1 ,且 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 是与矩阵范数 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 相容的矩阵范数,则
∥ x − x ^ ∥ ∥ x ∥ ⩽ ∣ A − 1 E ∣ 1 − ∣ A − 1 E ∣ . (5.8.7) \frac {\| x - \hat {x} \|}{\| x \|} \leqslant \frac {\left| A ^ {- 1} E \right|}{1 - \left| A ^ {- 1} E \right|}. \tag {5.8.7} ∥ x ∥ ∥ x − x ^ ∥ ⩽ 1 − ∣ A − 1 E ∣ A − 1 E . ( 5.8.7 ) 值得注意的是,这与关于矩阵逆的相对误差的上界(5.8.2)是相同的,且与线性方程组的右边 b b b 无关.
利用 A A A 的条件数,用来推导(5.8.4)的证明同样可以证明,如果 ∥ A − 1 ∥ ∣ E ∣ < 1 \| A^{-1} \| |E| < 1 ∥ A − 1 ∥∣ E ∣ < 1 ,且向量范数 ∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ 与矩阵范数 ∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ 相容,则(5.8.5)的解的相对误差有界
337
∥ x − x ˉ ∥ ∥ x ∥ ⩽ κ ( A ) 1 − κ ( A ) ( ∥ E ∥ / ∥ A ∥ ) ∥ E ∥ ∥ A ∥ . (5.8.8) \frac {\| x - \bar {x} \|}{\| x \|} \leqslant \frac {\kappa (A)}{1 - \kappa (A) (\| E \| / \| A \|)} \frac {\| E \|}{\| A \|}. \tag {5.8.8} ∥ x ∥ ∥ x − x ˉ ∥ ⩽ 1 − κ ( A ) ( ∥ E ∥/∥ A ∥ ) κ ( A ) ∥ A ∥ ∥ E ∥ . ( 5.8.8 ) 无论采用什么算法来解线性方程组(5.8.5),它的解的相对误差与其系数矩阵的逆的相对误差有相同的界.
像标准线性方程组(5.8.5)的系数矩阵 A A A 的元素一样,它的右边 b \pmb{b} b 的元素也可能产生误差,影响方程组的解,于是想用
( A + E ) x ^ = b + e (5.8.9) (A + E) \hat {x} = b + e \tag {5.8.9} ( A + E ) x ^ = b + e ( 5.8.9 ) 代替(5.8.6),其中 E ∈ M n E \in M_{n} E ∈ M n 和 e ∈ C n e \in \mathbb{C}^{n} e ∈ C n 看成是“小”的数据误差。
采用相同的方法,在关于(5.8.8)的相同假设下,(如果 b ≠ 0 b \neq 0 b = 0 )求得(5.8.5)的解与(5.8.9)的解之间的相对误差为
∥ x − x ^ ∥ ∥ x ∥ ⩽ κ ( A ) 1 − κ ( A ) ( ∥ E ∥ / ∥ A ∥ ) ∥ E ∥ ∥ A ∥ + κ ( A ) 1 − κ ( A ) ( ∥ E ∥ / ∥ A ∥ ) ∥ e ∥ ∥ b ∥ (5.8.10) \frac {\| x - \hat {x} \|}{\| x \|} \leqslant \frac {\kappa (A)}{1 - \kappa (A) (\| E \| / \| A \|)} \frac {\| E \|}{\| A \|} + \frac {\kappa (A)}{1 - \kappa (A) (\| E \| / \| A \|)} \frac {\| e \|}{\| b \|} \tag {5.8.10} ∥ x ∥ ∥ x − x ^ ∥ ⩽ 1 − κ ( A ) ( ∥ E ∥/∥ A ∥ ) κ ( A ) ∥ A ∥ ∥ E ∥ + 1 − κ ( A ) ( ∥ E ∥/∥ A ∥ ) κ ( A ) ∥ b ∥ ∥ e ∥ ( 5.8.10 ) 这样,相对误差界有两项,一项是关于系数矩阵 A A A 的相对误差界,一项是关于右边 b b b 的相对误差界。在确定关于解误差的界对数据误差的界的灵敏度方面,条件数 κ ( A ) \kappa(A) κ ( A ) 仍然起着决定性的作用。
至此,我们的所有估计式都有一个先验的误差界;它们不涉及所计算出的解或者由它导出的任何量。但是,假定通过计算已经求出方程组(5.8.5)的某个“解” x x x 。恰好有 A x ^ = b A\hat{x} = b A x ^ = b 的情形往往是不可能的,不过,可以从剩余向量 r ≡ b − A x ^ r \equiv b - A\hat{x} r ≡ b − A x ^ 得到 x ^ \hat{x} x ^ 与真解 x x x 如何接近的估计式。因为 A − 1 r = A − 1 [ b − A x ^ ] = A − 1 b − x ^ = x − x ^ A^{-1}r = A^{-1}[b - A\hat{x}] = A^{-1}b - \hat{x} = x - \hat{x} A − 1 r = A − 1 [ b − A x ^ ] = A − 1 b − x ^ = x − x ^ ,所以有简明的界 ∥ x − x ^ ∥ ⩽ ∥ A − 1 r ∥ \|x - \hat{x}\| \leqslant \|A^{-1}r\| ∥ x − x ^ ∥ ⩽ ∥ A − 1 r ∥ 。如果 ∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ 是与
向量范数 ∥ ⋅ ∥ \| \cdot \| ∥ ⋅ ∥ 相容的矩阵范数,则我们有 ∥ b ∥ = ∥ A x ∥ ⩽ ∥ A ∥ ∥ x ∥ \| b \| = \| Ax \| \leqslant \| A \| \| x \| ∥ b ∥ = ∥ A x ∥ ⩽ ∥ A ∥∥ x ∥ ,或者当 b ≠ 0 b \neq 0 b = 0 时, 1 ⩽ ∥ A ∥ ∥ x ∥ / ∥ b ∥ 1 \leqslant \| A \| \| x \| / \| b \| 1 ⩽ ∥ A ∥∥ x ∥/∥ b ∥ ,因而
∥ x − x ^ ∥ ⩽ ∥ A − 1 ∥ ∥ r ∥ ⩽ ∥ A ∥ ∥ x ∥ ∥ b ∥ ∥ A − 1 ∥ ∥ r ∥ = ∥ A ∥ ∥ A − 1 ∥ ∥ r ∥ ∥ b ∥ ∥ x ∥ . \| x - \hat {x} \| \leqslant \| A ^ {- 1} \| \| r \| \leqslant \frac {\| A \| \| x \|}{\| b \|} \| A ^ {- 1} \| \| r \| = \| A \| \| A ^ {- 1} \| \frac {\| r \|}{\| b \|} \| x \|. ∥ x − x ^ ∥ ⩽ ∥ A − 1 ∥∥ r ∥ ⩽ ∥ b ∥ ∥ A ∥∥ x ∥ ∥ A − 1 ∥∥ r ∥ = ∥ A ∥∥ A − 1 ∥ ∥ b ∥ ∥ r ∥ ∥ x ∥. 因此,如果 b ≠ 0 b \neq 0 b = 0 ,计算出的 r ^ \hat{r} r ^ (适合 A x ^ = b − r A\hat{x} = b - r A x ^ = b − r )与真解 x x x (适合 A x = b Ax = b A x = b )间的相对误差有界
∥ x − x ^ ∥ ∥ x ∥ ⩽ κ ( A ) ∥ r ∥ ∥ b ∥ , (5.8.11) \frac {\| x - \hat {x} \|}{\| x \|} \leqslant \kappa (A) \frac {\| r \|}{\| b \|}, \tag {5.8.11} ∥ x ∥ ∥ x − x ^ ∥ ⩽ κ ( A ) ∥ b ∥ ∥ r ∥ , ( 5.8.11 ) 其中,假定用来计算条件数 κ ( A ) \kappa(A) κ ( A ) 的矩阵范数是与向量范数 ∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ 相容的。对于良态问题,解的相对误差不会比剩余向量的相对大小(更)坏;对于病态问题,即使计算出的解产生一个小的剩余向量,它仍然可能与真解相差很大。
关于误差的范数估计的最后一个注释,我们指出,本节所导出的各个上界仅仅是上界而已。尽管上界可能很大,但是实际误差仍然可能很小。这些界的一个共同特征是它们的保守性:它们给出的误差界对许多问题未免太笼统了。但是,如果一个有适当阶数的矩阵 A A A 具有适当大小的各元素,且有较大的条件数,则 A − 1 A^{-1} A − 1 一定有某些大元素,于是,对下述理由多加考虑是有益的。
如果 A x = b Ax = b A x = b ,且令 C = [ c i j ] ≡ A − 1 C = [c_{ij}] \equiv A^{-1} C = [ c ij ] ≡ A − 1 ,那么,关于元 b j bj bj 微分恒等式 x = C b x = Cb x = C b 便得恒等式
∂ x i ∂ b i = c v , i , j = 1 , 2 , … , n . (5.8.12) \frac {\partial x _ {i}}{\partial b _ {i}} = c _ {v}, i, j = 1, 2, \dots , n. \tag {5.8.12} ∂ b i ∂ x i = c v , i , j = 1 , 2 , … , n . ( 5.8.12 ) 另外,把 C = A − 1 C = A^{-1} C = A − 1 看成 A A A 的函数,则它的各元只是 A A A 的各元的有理函数,因而可微。恒等式 C A = I CA = I C A = I 表明,对所有 i , q = 1 , … , n i, q = 1, \dots, n i , q = 1 , … , n ,有
∑ p = 1 n c i p a p i ≃ δ k , \sum_ {p = 1} ^ {n} c _ {i p} a _ {p i} \simeq \delta_ {k}, p = 1 ∑ n c i p a p i ≃ δ k , 因而
∑ p = 1 n [ ∂ c i p ∂ a j k a p q + δ p q , j k c i p ] − [ ∑ p = 1 n ∂ c i p ∂ a j k a p q ] + δ q k c i j = 0 , \sum_ {p = 1} ^ {n} \left[ \frac {\partial c _ {i p}}{\partial a _ {j k}} a _ {p q} + \delta_ {p q, j k} c _ {i p} \right] - \left[ \sum_ {p = 1} ^ {n} \frac {\partial c _ {i p}}{\partial a _ {j k}} a _ {p q} \right] + \delta_ {q k} c _ {i j} = 0, p = 1 ∑ n [ ∂ a jk ∂ c i p a pq + δ pq , jk c i p ] − [ p = 1 ∑ n ∂ a jk ∂ c i p a pq ] + δ q k c ij = 0 , 或
∑ p = 1 n ∂ c i p ∂ a j k a p k = − δ q k c i j , i , j , k = 1 , … , n . \sum_ {p = 1} ^ {n} \frac {\partial c _ {i p}}{\partial a _ {j k}} a _ {p k} = - \delta_ {q k} c _ {i j}, i, j, k = 1, \dots , n. p = 1 ∑ n ∂ a jk ∂ c i p a p k = − δ q k c ij , i , j , k = 1 , … , n . 现在关于 a j k a_{jk} a jk 微分恒等式 x = C b x = Cb x = C b 使得
∂ x i ∂ a j k = ∑ p = 1 n ∂ x i p ∂ a j k b p = ∑ p = 1 n ∑ q = 1 n ∂ x i p ∂ a j k a p i x q = ∑ q = 1 n [ ∑ p = i n ∂ c i p ∂ a j k u i q ] x i j = ∑ q = 1 n [ − δ a k c i j ] x q = − c i j x k , \begin{array}{l} \frac {\partial x _ {i}}{\partial a _ {j k}} = \sum_ {p = 1} ^ {n} \frac {\partial x _ {i p}}{\partial a _ {j k}} b _ {p} = \sum_ {p = 1} ^ {n} \sum_ {q = 1} ^ {n} \frac {\partial x _ {i p}}{\partial a _ {j k}} a _ {p i} x _ {q} \\ = \sum_ {q = 1} ^ {n} \left[ \sum_ {p = i} ^ {n} \frac {\partial c _ {i p}}{\partial a _ {j k}} u _ {i q} \right] x _ {i j} = \sum_ {q = 1} ^ {n} \left[ - \delta_ {a k} c _ {i j} \right] x _ {q} = - c _ {i j} x _ {k}, \\ \end{array} ∂ a jk ∂ x i = ∑ p = 1 n ∂ a jk ∂ x i p b p = ∑ p = 1 n ∑ q = 1 n ∂ a jk ∂ x i p a p i x q = ∑ q = 1 n [ ∑ p = i n ∂ a jk ∂ c i p u i q ] x ij = ∑ q = 1 n [ − δ ak c ij ] x q = − c ij x k , 它是恒等式
∂ x i ∂ a j k = − c i j ∑ p = 1 n c k p b p . (5.8.13) \frac {\partial x _ {i}}{\partial a _ {j k}} = - c _ {i j} \sum_ {p = 1} ^ {n} c _ {k p} b _ {p}. \tag {5.8.13} ∂ a jk ∂ x i = − c ij p = 1 ∑ n c k p b p . ( 5.8.13 ) 因此,(5.8.12)和(5.8.13)同时提醒我们,如果 C = A − 1 C = A^{-1} C = A − 1 有相对大的任意元素,则解 x \pmb{x} x 的某个元素对 b \textit{\textbf{b}} b 和A的某些元素的扰动就可能有难以避免的较大灵敏度.
习题 证明非奇异正规矩阵的逆关于谱范数的条件数是
κ ( A ) = ρ ( A ) ρ ( A 1 ) = ∣ λ max ( A ) / λ min ( A ) ∣ . \kappa (A) = \rho (A) \rho (A ^ {1}) = | \lambda_ {\max } (A) / \lambda_ {\min } (A) |. κ ( A ) = ρ ( A ) ρ ( A 1 ) = ∣ λ m a x ( A ) / λ m i n ( A ) ∣. 求矩阵
A = [ 1 − 1 − 1 1 + ε ] , ε > 0 A = \left[ \begin{array}{c c} 1 & - 1 \\ - 1 & 1 + \varepsilon \end{array} \right], \varepsilon > 0 A = [ 1 − 1 − 1 1 + ε ] , ε > 0 的特征值和逆矩阵。证明,当 ε → 0 \varepsilon \to 0 ε → 0 时, A A A 的最大特征值与最小特征值之比为数量级 ε − 1 \varepsilon^{-1} ε − 1 。试用习题1证明,关于谱范数有 κ ( A ) = O ( ε − 1 ) \kappa(A) = O(\varepsilon^{-1}) κ ( A ) = O ( ε − 1 ) 。证明,关于任意范数有 κ ( A ) = O ( ε − 1 ) \kappa(A) = O(\varepsilon^{-1}) κ ( A ) = O ( ε − 1 ) ,因而对于求逆来说, A A A 是病态的。试用 A A A 的显示形式证明,对任何范数有 κ ( A ) = O ( ε − 1 ) \kappa(A) = O(\varepsilon^{-1}) κ ( A ) = O ( ε − 1 ) 。
求矩阵
B = [ 1 − 1 1 1 + ε ] , ε > 0 B = \left[ \begin{array}{l l} 1 & - 1 \\ 1 & 1 + \varepsilon \end{array} \right], \varepsilon > 0 B = [ 1 1 − 1 1 + ε ] , ε > 0 的特征值和逆矩阵。证明,当 ε → 0 \varepsilon \to 0 ε → 0 时, B B B 的最大特征值与最小特征值之比为数量级1。但是证明,关于任何矩阵范数有 κ ( B ) = O ( ε − 1 ) \kappa(B) = O(\varepsilon^{-1}) κ ( B ) = O ( ε − 1 ) ,因而当 ε → 0 \varepsilon \to 0 ε → 0 时,对于求逆来说, B B B 是病态的。由此可知,最大模特征值与最小模特征值之比不一定是非正规矩阵的条件数。
矩阵逆的条件数 κ ( A ) \kappa(A) κ ( A ) 依赖于所采用的矩阵范数,但是可以证明,所有条件数在下述意义下是等价的:如果 κ α ( A ) = ∥ A − 1 ∥ α ∥ A ∥ α \kappa_{\alpha}(A) = \| A^{-1} \|_{\alpha} \| A \|_{\alpha} κ α ( A ) = ∥ A − 1 ∥ α ∥ A ∥ α ,且 κ β = ∣ A − 1 ∣ β ∥ A ∥ β \kappa_{\beta} = |A^{-1}|_{\beta} \| A \|_{\beta} κ β = ∣ A − 1 ∣ β ∥ A ∥ β ,则存在有正常数 C m C_m C m 和 C M C_M C M 使得
C m κ α ( A ) ⩽ κ β ( A ) ⩽ C M κ α ( A ) C _ {m} \kappa_ {\alpha} (A) \leqslant \kappa_ {\beta} (A) \leqslant C _ {M} \kappa_ {\alpha} (A) C m κ α ( A ) ⩽ κ β ( A ) ⩽ C M κ α ( A ) 对所有 A ∈ M n A \in M_{n} A ∈ M n 成立.
证明,关于谱范数,每个酉矩阵 U U U 对于求逆是优态的 [ κ ( U ) = 1 ] [\kappa(U) = 1] [ κ ( U ) = 1 ] ,但是,如果采用 l 2 l_{2} l 2 范数,每个内矩阵 U ∈ M n U \in M_{n} U ∈ M n 的条件数 κ ( U ) \kappa(U) κ ( U ) 是 n n n 。
证明,对任意非奇异矩阵 A ∈ M n A \in M_{n} A ∈ M n 和任意矩阵范数有 κ ( A ) ⩾ ∣ λ ( A ) ∣ max / ∣ λ ( A ) ∣ min \kappa(A) \geqslant |\lambda(A)|_{\max} / |\lambda(A)|_{\min} κ ( A ) ⩾ ∣ λ ( A ) ∣ m a x /∣ λ ( A ) ∣ m i n ( max \max max 和 min \min min 在这种情形是指特征值的极大模和极小模)。因此,如果这个特征值的比是大的,则该矩阵对于求逆一定是病态的,而不管它是否为正规矩阵。但是习题3说明,如果矩阵不是正规阵,即使这个比不大,它仍可能是病态的。
试对界(5.8.8)的推广(5.8.10)给出详细证明,当 e = 0 e = 0 e = 0 时,界(5.8.10)就简化成(5.8.8).
设 x x x 是 C n \mathbf{C}^n C n 中的单位向量,且设 λ > 0 \lambda > 0 λ > 0 ,证明 A ≡ I + λ x x ∗ A \equiv I + \lambda xx^* A ≡ I + λ x x ∗ 是Hermite矩阵,且有 ( n − 1 ) (n - 1) ( n − 1 ) 重特征值1和特征值 1 + λ 1 + \lambda 1 + λ 。证明: κ ( A ) = 1 + λ \kappa(A) = 1 + \lambda κ ( A ) = 1 + λ (关于谱范数),于是,这给出了产生可逆矩阵的简单方法,且使该矩阵具有有界元素和任意大的条件数。为什么?
设 B B B 是习题3中的矩阵,考虑具有精确解 x = [ 1 , 0 ] T x = [1, 0]^T x = [ 1 , 0 ] T 的线性方程组 B x = [ 1 , 1 ] T Bx = [1, 1]^T B x = [ 1 , 1 ] T 及其近似解 x ^ = [ 1 + ε 1 / 2 , ε 1 / 2 ] T \hat{x} = [1 + \varepsilon^{1/2}, \varepsilon^{1/2}]^T x ^ = [ 1 + ε 1/2 , ε 1/2 ] T 。证明,当 ε → 0 \varepsilon \to 0 ε → 0 时;剩余向量的相对误差为 ∥ r ∥ / ∥ b ∥ = O ( ε 1 / 2 ) → 0 \|r\| / \|b\| = O(\varepsilon^{1/2}) \to 0 ∥ r ∥/∥ b ∥ = O ( ε 1/2 ) → 0 ;但是,当 ε → 0 \varepsilon \to 0 ε → 0 时,解的相对误差为 ∥ x − x ^ ∥ / ∥ x ∥ = O ( ε − 1 / 2 ) → ∞ \|x - \hat{x}\| / \|x\| = O(\varepsilon^{-1/2}) \to \infty ∥ x − x ^ ∥/∥ x ∥ = O ( ε − 1/2 ) → ∞ 。这样,有大误差的近似解可以产生小的剩余向量。试用界(5.8.11)来说明。
如果 det A \det A det A 是小的(或大的), κ ( A ) \kappa(A) κ ( A ) 就一定大吗?提示:考虑 A = λ I ∈ M n A = \lambda I \in M_n A = λ I ∈ M n
一般,(5.8.4)的结果比(5.8.2)的要弱,这是因为假设条件 ∥ A − 1 ∥ E ∥ < 1 \| A^{-1} \| E \| < 1 ∥ A − 1 ∥ E ∥ < 1 比 ∥ A − 1 E ∥ < 1 \| A^{-1} E \| < 1 ∥ A − 1 E ∥ < 1 有更强的限制。不过,即使较强的假设条件被满足,(5.8.2)仍然可以给出比(5.8.4)较好的上界。试用 E = ε A E = \varepsilon A E = ε A , 0 < ε < 1 0 < \varepsilon < 1 0 < ε < 1 ,作出说明。
如果方程(5.8.5)和(5.8.6)用
A X − B 和 ( A + E ) X ^ − B A X - B \quad {\text {和}} \quad (A + E) {\hat {X}} - B A X − B 和 ( A + E ) X ^ − B 来代替,其中, A A A , E ∈ M n E\in M_{n} E ∈ M n ,而 X X X , B ∈ M n , k B\in M_{n,k} B ∈ M n , k ,求关于界(5.8.7)和(5.8.8)的类似界.考虑 k = n k = n k = n 和 B = I B = I B = I 的特殊情形;这有助于“说明”为什么(5.8.2)中与(5.8.7)中的上界是相同的吗?
我们已经导出的矩阵逆的误差的各个界都依赖于(5.8.1),它要求 ρ ( A − 1 E ) < 1 \rho(A^{-1}E) < 1 ρ ( A − 1 E ) < 1 。证明,如果 A A A 和 A + E A + E A + E 都是可逆矩阵,则不论 A − 1 E A^{-1}E A − 1 E 的阶数如何,
∥ A − 1 ( A + E ) − 1 ∥ ⩽ ∥ A − 1 ∥ ∥ ( A + E ) − 1 ∥ ∣ E ∣ \left\| A ^ {- 1} \quad (A + E) ^ {- 1} \right\| \leqslant \left\| A ^ {- 1} \right\| \left\| (A + E) ^ {- 1} \right\| | E | A − 1 ( A + E ) − 1 ⩽ A − 1 ( A + E ) − 1 ∣ E ∣ 对任何矩阵范数 ∣ ⋅ ⋅ ⋅ ∣ |\cdot \cdot \cdot | ∣ ⋅ ⋅ ⋅ ∣ 都成立,提示:证明 A ( A + E ) − 1 = ( A + E ) A\quad (A + E)^{-1} = (A + E) A ( A + E ) − 1 = ( A + E ) EA.
或许被引用得最多的病态矩阵的例子是用 h i j = 1 / ( i + j − 1 ) h_{ij} = 1 / (i + j - 1) h ij = 1/ ( i + j − 1 ) 定义的 Hilbert 矩阵 H n = [ h i j ] ∈ M n H_{n} = [h_{ij}] \in M_{n} H n = [ h ij ] ∈ M n . 证明 H n H_{n} H n 关于谱范数的条件数是用 λ max / λ min \lambda_{\max} / \lambda_{\min} λ m a x / λ m i n 给出的. 其事实是 H n H_{n} H n 的条件数是渐近地等于 e m e^{m} e m , 其中常数 c c c 大约是 3.5, 另一个事实是当 n → ∞ n \to \infty n → ∞ 时 ρ ( H n ) = π + O [ 1 / ( log n ) ] \rho(H_{n}) = \pi + O[1 / (\log n)] ρ ( H n ) = π + O [ 1/ ( log n )] . 我们有 κ ( H d ) ∼ 5 × 10 2 \kappa(H_{d}) \sim 5 \times 10^{2} κ ( H d ) ∼ 5 × 1 0 2 , κ ( H 6 ) ∼ 1.5 × 10 7 \kappa(H_{6}) \sim 1.5 \times 10^{7} κ ( H 6 ) ∼ 1.5 × 1 0 7 和 κ ( H 8 ) ∼ 1.5 × 10 10 \kappa(H_{8}) \sim 1.5 \times 10^{10} κ ( H 8 ) ∼ 1.5 × 1 0 10 . 说明, 即使 I I n II_{n} I I n 的各元都一致有界 [ I , ρ ( H n ) ] [I, \rho(H_{n})] [ I , ρ ( H n )] 不是很大, 为什么 H n H_{n} H n 还是坏条件的.
如果采用谱范数,证明 κ ( A ∗ A ) = κ ( A A ∗ ) = [ κ ( A ) ] 2 \kappa(A^{*}A) = \kappa(AA^{*}) = [\kappa(A)]^{2} κ ( A ∗ A ) = κ ( A A ∗ ) = [ κ ( A ) ] 2 ,试说明,为什么采用数值方法解 A ∗ A x = y A^{*}Ax = y A ∗ A x = y 的问题可能不会比解 A x = z Ax = z A x = z 的问题真正来得容易。
设 A ∈ M n A \in M_{n} A ∈ M n 是非奇异矩阵。试用(5.6)节37题中的不等式证明 κ ( A ) ⩾ ∥ A ∥ / ∥ A − B ∥ \kappa(A) \geqslant \|A\| / \|A - B\| κ ( A ) ⩾ ∥ A ∥/∥ A − B ∥ 对任一奇异矩阵 B ∈ M n B \in M_{n} B ∈ M n 成立。这里 ∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ 是任一矩阵范数,而 κ ( ⋅ ) \kappa(\cdot) κ ( ⋅ ) 是相应的条件数。这个下界可以用来证明一个给定矩阵 A A A 是病态的。
设 A = [ a i j ] ∈ M n A = [a_{ij}] \in M_n A = [ a ij ] ∈ M n 是所有 a n ≠ 0 a_{n} \neq 0 a n = 0 的上三角矩阵,试用习题16证明关于极大行和范数的条件数有下界
κ ( A ) ⩾ ∣ A ∥ min 1 ⩽ i ⩽ n ∣ a u . \kappa (A) \geqslant \frac {\left| A \right\|}{\min _ {1 \leqslant i \leqslant n} \left| a _ {u} \right.}. κ ( A ) ⩾ min 1 ⩽ i ⩽ n ∣ a u ∣ A ∥ . 进一步阅读 在解线性方程组时求误差的先验界的问题已是数值线性代数的一个中心问题;见[Ste].