1. 矩阵范数
我们怎么来衡量一个矩阵的大小呢?针对一个向量,它的长度是 ∣∣x∣∣。针对一个矩阵,它的范数是 ∣∣A∣∣。有时候我们会用向量的范数来替代长度这个说法,但对于矩阵我们只说范数。有很多方式来定义矩阵的范数,我们来看看所有范数的的要求然后选择其中一个。
Frobenius 对矩阵中的所有元素进行平方 ∣aij∣2 再相加,然后 ∣∣A∣∣F 就是它的平方根。这就像把矩阵看作是一个很长的有 n2 个元素的向量,这有时候会很有用,但这里我们不选择它。
向量范数满足三角不等式,即 $||\boldsymbol x+\boldsymbol y|| $ 不大于 $||\boldsymbol x|| + ||\boldsymbol y|| $, 2x 或者 −2x 的长度变为两倍。同样的规则也应用于矩阵的范数:

第二个对矩阵范数的要求是新的,因为矩阵可以相乘。范数 ∣∣A∣∣ 控制着从 x 到 Ax 和从 A 到B 的增长。

根据此,我们可以这样定义矩阵的范数:

恒等矩阵的范数为 1,针对一个正交矩阵,我们有 ∣∣Qx∣∣=∣∣x∣∣,所以正交矩阵的范数也为 1。

针对正定的对称矩阵,∣∣A∣∣=λmax(A)。
将矩阵分解成 A=QΛQT,左右两边的正交矩阵保持向量的长度不变,因此 ∣∣Ax∣∣/∣∣x∣∣ 的最大值就是对角阵中的最大特征值。对于一个对称矩阵,我们仍然可以得到上面的分解,只不过此时的特征值不能保证一定是正数,矩阵的范数变为了特征值绝对值的最大值。
对于不对称的矩阵,它的特征值不能衡量矩阵真正的大小,范数可以比所有特征值都大。

对于上面的例子,x=(0,1) 是对称矩阵 ATA 的特征向量,事实上矩阵的范数是由 ATA 的最大特征值决定的。
矩阵的范数是 ATA 最大特征值的平方根,也就是矩阵的最大奇异值。

2. 条件数
有些系统对误差很敏感,有些则不是那么敏感,对误差的灵敏度我们用条件数来衡量。
原始的方程为 Ax=b,假设方程右边由于测量误差被改变为了 b+Δb,那么我们的解就变成了 x+Δx,我们的目标是估计 Δb 是怎么影响 Δx 的。
A(x+Δx)=b+Δb→AΔx=Δb→Δx=A−1Δb
如果 A−1 很大的话,此时矩阵接近于奇异,Δx 就会很大。Δx 还会变得特别大如果 Δb 在错误的方向,因为它会被 A−1 放大。最大的误差为 ∣∣Δx∣∣=∣∣A−1∣∣ ∣∣Δb∣∣。
但这样会有一个问题,当我们改变 A 的话,方程的解 x 和 Δx 都会同时改变,相对误差 ∣∣Δx∣∣/∣∣x∣∣ 却保持不变。事实上,应该是解 x 的相对误差和 b 的误差相比较,条件数 c=∣∣A∣∣ ∣∣A−1∣∣ 衡量了方程 Ax=b 的灵敏度。

Ax=b→∣∣b∣∣⩽∣∣A∣∣ ∣∣x∣∣(1)
Δx=A−1Δb→∣∣Δx∣∣⩽∣∣A−1∣∣ ∣∣Δb∣∣(2)
(1) 式和 (2) 式相乘,可得,
∣∣b∣∣ ∣∣Δx∣∣⩽∣∣A∣∣ ∣∣A−1∣∣ ∣∣x∣∣ ∣∣Δb∣∣(3)
上式两边同时除以 ∣∣b∣∣ ∣∣x∣∣ 可得,
∣∣x∣∣∣∣Δx∣∣⩽∣∣A∣∣ ∣∣A−1∣∣ ∣∣b∣∣ ∣∣Δb∣∣=c∣∣b∣∣ ∣∣Δb∣∣(4)
同理可得,

此外,对于正定矩阵,条件数来自于它的特征值。

获取更多精彩,请关注「seniusen」!
