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

1. 矩阵范数

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

Frobenius 对矩阵中的所有元素进行平方 ∣ a i j ∣ 2 |a_{ij}|^2 aij2 再相加,然后 ∣ ∣ A ∣ ∣ F ||A||_F AF 就是它的平方根。这就像把矩阵看作是一个很长的有 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+ΔbAΔx=ΔbΔx=A1Δb

如果 A − 1 A^{-1} A1 很大的话,此时矩阵接近于奇异, Δ x \Delta \boldsymbol x Δx 就会很大。 Δ x \Delta \boldsymbol x Δx 还会变得特别大如果 Δ b \Delta \boldsymbol b Δb 在错误的方向,因为它会被 A − 1 A^{-1} A1 放大。最大的误差为 ∣ ∣ Δ x ∣ ∣ = ∣ ∣ A − 1 ∣ ∣   ∣ ∣ Δ b ∣ ∣ ||\Delta \boldsymbol x||=||A^{-1}|| \space ||\Delta \boldsymbol b|| Δx=A1 Δ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 A1 衡量了方程 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=bbA 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=A1ΔbΔxA1 Δ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 ΔxA A1 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ΔxA A1 b Δb=cb Δb(4)

同理可得,

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

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

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值