1. 矩阵范数
我们怎么来衡量一个矩阵的大小呢?针对一个向量,它的长度是 ∣ ∣ x ∣ ∣ ||\boldsymbol x|| ∣∣x∣∣。针对一个矩阵,它的范数是 ∣ ∣ A ∣ ∣ ||A|| ∣∣A∣∣。有时候我们会用向量的范数来替代长度这个说法,但对于矩阵我们只说范数。有很多方式来定义矩阵的范数,我们来看看所有范数的的要求然后选择其中一个。
Frobenius 对矩阵中的所有元素进行平方 ∣ a i j ∣ 2 |a_{ij}|^2 ∣aij∣2 再相加,然后 ∣ ∣ A ∣ ∣ F ||A||_F ∣∣A∣∣F 就是它的平方根。这就像把矩阵看作是一个很长的有 n 2 n^2 n2 个元素的向量,这有时候会很有用,但这里我们不选择它。
向量范数满足三角不等式,即 $||\boldsymbol x+\boldsymbol y|| $ 不大于 $||\boldsymbol x|| + ||\boldsymbol y|| $, 2 x 2\boldsymbol x 2x 或者 − 2 x -2\boldsymbol x −2x 的长度变为两倍。同样的规则也应用于矩阵的范数:
第二个对矩阵范数的要求是新的,因为矩阵可以相乘。范数 ∣ ∣ A ∣ ∣ ||A|| ∣∣A∣∣ 控制着从 x \boldsymbol x x 到 A x A\boldsymbol x Ax 和从 A A A 到 B B B 的增长。
根据此,我们可以这样定义矩阵的范数:
恒等矩阵的范数为 1,针对一个正交矩阵,我们有 ∣ ∣ Q x ∣ ∣ = ∣ ∣ x ∣ ∣ ||Q\boldsymbol x||=||\boldsymbol x|| ∣∣Qx∣∣=∣∣x∣∣,所以正交矩阵的范数也为 1。
针对正定的对称矩阵, ∣ ∣ A ∣ ∣ = λ m a x ( A ) ||A||=\lambda_{max}(A) ∣∣A∣∣=λmax(A)。
将矩阵分解成 A = Q Λ Q T A=Q\Lambda Q^T A=QΛQT,左右两边的正交矩阵保持向量的长度不变,因此 ∣ ∣ A x ∣ ∣ / ∣ ∣ x ∣ ∣ ||A\boldsymbol x||/||\boldsymbol x|| ∣∣Ax∣∣/∣∣x∣∣ 的最大值就是对角阵中的最大特征值。对于一个对称矩阵,我们仍然可以得到上面的分解,只不过此时的特征值不能保证一定是正数,矩阵的范数变为了特征值绝对值的最大值。
对于不对称的矩阵,它的特征值不能衡量矩阵真正的大小,范数可以比所有特征值都大。
对于上面的例子, x = ( 0 , 1 ) \boldsymbol x=(0, 1) x=(0,1) 是对称矩阵 A T A A^TA ATA 的特征向量,事实上矩阵的范数是由 A T A A^TA ATA 的最大特征值决定的。
矩阵的范数是 A T A A^TA ATA 最大特征值的平方根,也就是矩阵的最大奇异值。
2. 条件数
有些系统对误差很敏感,有些则不是那么敏感,对误差的灵敏度我们用条件数来衡量。
原始的方程为 A x = b A\boldsymbol x=\boldsymbol b Ax=b,假设方程右边由于测量误差被改变为了 b + Δ b \boldsymbol b+\Delta \boldsymbol b b+Δb,那么我们的解就变成了 x + Δ x \boldsymbol x+\Delta \boldsymbol x x+Δx,我们的目标是估计 Δ b \Delta \boldsymbol b Δb 是怎么影响 Δ x \Delta \boldsymbol x Δx 的。
A ( x + Δ x ) = b + Δ b → A Δ x = Δ b → Δ x = A − 1 Δ b A(\boldsymbol x+ \Delta \boldsymbol x)=\boldsymbol b+\Delta \boldsymbol b \to A \Delta \boldsymbol x=\Delta \boldsymbol b \to \Delta \boldsymbol x=A^{-1}\Delta \boldsymbol b A(x+Δx)=b+Δb→AΔx=Δb→Δx=A−1Δb
如果 A − 1 A^{-1} A−1 很大的话,此时矩阵接近于奇异, Δ x \Delta \boldsymbol x Δx 就会很大。 Δ x \Delta \boldsymbol x Δx 还会变得特别大如果 Δ b \Delta \boldsymbol b Δb 在错误的方向,因为它会被 A − 1 A^{-1} A−1 放大。最大的误差为 ∣ ∣ Δ x ∣ ∣ = ∣ ∣ A − 1 ∣ ∣ ∣ ∣ Δ b ∣ ∣ ||\Delta \boldsymbol x||=||A^{-1}|| \space ||\Delta \boldsymbol b|| ∣∣Δx∣∣=∣∣A−1∣∣ ∣∣Δb∣∣。
但这样会有一个问题,当我们改变 A A A 的话,方程的解 x \boldsymbol x x 和 Δ x \Delta \boldsymbol x Δx 都会同时改变,相对误差 ∣ ∣ Δ x ∣ ∣ / ∣ ∣ x ∣ ∣ ||\Delta \boldsymbol x|| / ||\boldsymbol x|| ∣∣Δx∣∣/∣∣x∣∣ 却保持不变。事实上,应该是解 x \boldsymbol x x 的相对误差和 b \boldsymbol b b 的误差相比较,条件数 c = ∣ ∣ A ∣ ∣ ∣ ∣ A − 1 ∣ ∣ c=||A|| \space ||A^{-1}|| c=∣∣A∣∣ ∣∣A−1∣∣ 衡量了方程 A x = b A\boldsymbol x=\boldsymbol b Ax=b 的灵敏度。
- 证明
A x = b → ∣ ∣ b ∣ ∣ ⩽ ∣ ∣ A ∣ ∣ ∣ ∣ x ∣ ∣ (1) \tag{1}A \boldsymbol x=\boldsymbol b \to ||\boldsymbol b|| \leqslant ||A|| \space ||\boldsymbol x|| Ax=b→∣∣b∣∣⩽∣∣A∣∣ ∣∣x∣∣(1)
Δ x = A − 1 Δ b → ∣ ∣ Δ x ∣ ∣ ⩽ ∣ ∣ A − 1 ∣ ∣ ∣ ∣ Δ b ∣ ∣ (2) \tag{2}\Delta \boldsymbol x=A^{-1}\Delta \boldsymbol b \to ||\Delta \boldsymbol x|| \leqslant ||A^{-1}|| \space ||\Delta \boldsymbol b|| Δx=A−1Δb→∣∣Δx∣∣⩽∣∣A−1∣∣ ∣∣Δb∣∣(2)
(1) 式和 (2) 式相乘,可得,
∣ ∣ b ∣ ∣ ∣ ∣ Δ x ∣ ∣ ⩽ ∣ ∣ A ∣ ∣ ∣ ∣ A − 1 ∣ ∣ ∣ ∣ x ∣ ∣ ∣ ∣ Δ b ∣ ∣ (3) \tag{3} ||\boldsymbol b|| \space ||\Delta \boldsymbol x|| \leqslant ||A|| \space ||A^{-1}|| \space ||\boldsymbol x|| \space ||\Delta \boldsymbol b|| ∣∣b∣∣ ∣∣Δx∣∣⩽∣∣A∣∣ ∣∣A−1∣∣ ∣∣x∣∣ ∣∣Δb∣∣(3)
上式两边同时除以 ∣ ∣ b ∣ ∣ ∣ ∣ x ∣ ∣ ||\boldsymbol b|| \space ||\boldsymbol x|| ∣∣b∣∣ ∣∣x∣∣ 可得,
∣ ∣ Δ x ∣ ∣ ∣ ∣ x ∣ ∣ ⩽ ∣ ∣ A ∣ ∣ ∣ ∣ A − 1 ∣ ∣ ∣ ∣ Δ b ∣ ∣ ∣ ∣ b ∣ ∣ = c ∣ ∣ Δ b ∣ ∣ ∣ ∣ b ∣ ∣ (4) \tag{4}\frac{ ||\Delta \boldsymbol x||}{||\boldsymbol x||} \leqslant ||A|| \space ||A^{-1}|| \space \frac{\space ||\Delta \boldsymbol b||}{||\boldsymbol b||}=c\frac{\space ||\Delta \boldsymbol b||}{||\boldsymbol b||} ∣∣x∣∣∣∣Δx∣∣⩽∣∣A∣∣ ∣∣A−1∣∣ ∣∣b∣∣ ∣∣Δb∣∣=c∣∣b∣∣ ∣∣Δb∣∣(4)
同理可得,
此外,对于正定矩阵,条件数来自于它的特征值。
获取更多精彩,请关注「seniusen」!