线性代数之——矩阵范数和条件数

1. 矩阵范数

我们怎么来衡量一个矩阵的大小呢?针对一个向量,它的长度是 x||\boldsymbol x||。针对一个矩阵,它的范数是 A||A||。有时候我们会用向量的范数来替代长度这个说法,但对于矩阵我们只说范数。有很多方式来定义矩阵的范数,我们来看看所有范数的的要求然后选择其中一个。

Frobenius 对矩阵中的所有元素进行平方 aij2|a_{ij}|^2 再相加,然后 AF||A||_F 就是它的平方根。这就像把矩阵看作是一个很长的有 n2n^2 个元素的向量,这有时候会很有用,但这里我们不选择它。

向量范数满足三角不等式,即 $||\boldsymbol x+\boldsymbol y|| $ 不大于 $||\boldsymbol x|| + ||\boldsymbol y|| $, 2x2\boldsymbol x 或者 2x-2\boldsymbol x 的长度变为两倍。同样的规则也应用于矩阵的范数:

线性代数之——矩阵范数和条件数

第二个对矩阵范数的要求是新的,因为矩阵可以相乘。范数 A||A|| 控制着从 x\boldsymbol xAxA\boldsymbol x 和从 AABB 的增长。

线性代数之——矩阵范数和条件数

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

线性代数之——矩阵范数和条件数

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

线性代数之——矩阵范数和条件数

针对正定的对称矩阵,A=λmax(A)||A||=\lambda_{max}(A)

将矩阵分解成 A=QΛQTA=Q\Lambda Q^T,左右两边的正交矩阵保持向量的长度不变,因此 Ax/x||A\boldsymbol x||/||\boldsymbol x|| 的最大值就是对角阵中的最大特征值。对于一个对称矩阵,我们仍然可以得到上面的分解,只不过此时的特征值不能保证一定是正数,矩阵的范数变为了特征值绝对值的最大值。

对于不对称的矩阵,它的特征值不能衡量矩阵真正的大小,范数可以比所有特征值都大。

线性代数之——矩阵范数和条件数

对于上面的例子,x=(0,1)\boldsymbol x=(0, 1) 是对称矩阵 ATAA^TA 的特征向量,事实上矩阵的范数是由 ATAA^TA 的最大特征值决定的。

矩阵的范数是 ATAA^TA 最大特征值的平方根,也就是矩阵的最大奇异值。

线性代数之——矩阵范数和条件数

2. 条件数

有些系统对误差很敏感,有些则不是那么敏感,对误差的灵敏度我们用条件数来衡量。

原始的方程为 Ax=bA\boldsymbol x=\boldsymbol b,假设方程右边由于测量误差被改变为了 b+Δb\boldsymbol b+\Delta \boldsymbol b,那么我们的解就变成了 x+Δx\boldsymbol x+\Delta \boldsymbol x,我们的目标是估计 Δb\Delta \boldsymbol b 是怎么影响 Δx\Delta \boldsymbol x 的。

A(x+Δx)=b+ΔbAΔx=ΔbΔx=A1ΔbA(\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

如果 A1A^{-1} 很大的话,此时矩阵接近于奇异,Δx\Delta \boldsymbol x 就会很大。Δx\Delta \boldsymbol x 还会变得特别大如果 Δb\Delta \boldsymbol b 在错误的方向,因为它会被 A1A^{-1} 放大。最大的误差为 Δx=A1 Δb||\Delta \boldsymbol x||=||A^{-1}|| \space ||\Delta \boldsymbol b||

但这样会有一个问题,当我们改变 AA 的话,方程的解 x\boldsymbol xΔx\Delta \boldsymbol x 都会同时改变,相对误差 Δx/x||\Delta \boldsymbol x|| / ||\boldsymbol x|| 却保持不变。事实上,应该是解 x\boldsymbol x 的相对误差和 b\boldsymbol b 的误差相比较,条件数 c=A A1c=||A|| \space ||A^{-1}|| 衡量了方程 Ax=bA\boldsymbol x=\boldsymbol b 的灵敏度。

线性代数之——矩阵范数和条件数

  • 证明

Ax=bbA x(1)\tag{1}A \boldsymbol x=\boldsymbol b \to ||\boldsymbol b|| \leqslant ||A|| \space ||\boldsymbol x||

Δx=A1ΔbΔxA1 Δb(2)\tag{2}\Delta \boldsymbol x=A^{-1}\Delta \boldsymbol b \to ||\Delta \boldsymbol x|| \leqslant ||A^{-1}|| \space ||\Delta \boldsymbol b||

(1) 式和 (2) 式相乘,可得,

b ΔxA A1 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||\boldsymbol b|| \space ||\boldsymbol x|| 可得,

ΔxxA A1  Δbb=c Δbb(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||}

同理可得,

线性代数之——矩阵范数和条件数

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

线性代数之——矩阵范数和条件数

获取更多精彩,请关注「seniusen」!
线性代数之——矩阵范数和条件数