浅谈条件数(condition number)

浅谈条件数(condition number)

近日在看线代的书时,正好看到了奇异值(singular value)在计算条件数的应用,于是找了几份资料,似有所悟,在此现学现卖,分享与同道中人。

需要指出的是,条件数是个宽泛的概念,这里讨论的,用[1]的话说是“the condition number for inversion”。

向量的范数(the norm of a vector)

一个向量的norm是衡量向量大小的概念,有多种定义,材料[1]和[2]就采用了不同的范数,不过采用哪种范数,对于条件数没有影响。向量 x x x的范数符号表示为 ∣ ∣ x ∣ ∣ ||x|| x。例如[1]采用了Euclidean norm or 2- norm
∣ ∣ x ∣ ∣ = ( ∑ i x i 2 ) 1 / 2 ||x||=(\sum_ix_i^2)^{1/2} x=(ixi2)1/2
而[2]的定义为:
∣ ∣ x ∣ ∣ = max { ∣ x 1 ∣ , ∣ x 2 ∣ , ⋯   , ∣ x 3 ∣ } ||x||=\text{max}\{|x_1|,|x_2|,\cdots,|x_3|\} x=max{x1,x2,,x3}

矩阵的范数(the norm of a matrix)

一个矩阵的norm定义为其最大能拉伸(stretch)向量的能力:
M = ∣ ∣ A ∣ ∣ = max ∣ ∣ A x ∣ ∣ ∣ ∣ x ∣ ∣ M = ||A|| = \text{max}\frac{||Ax||}{||x||} M=A=maxxAx
与此同时定义其最小拉伸向量的能力;
m = min ∣ ∣ A x ∣ ∣ ∣ ∣ x ∣ ∣ m = \text{min}\frac{||Ax||}{||x||} m=minxAx
可证:
m = 1 ∣ ∣ A − 1 ∣ ∣ m = \frac{1}{||A^{-1}||} m=A11
而条件数被定义为这两者的比值,即:
κ ( A ) = M m = ∣ ∣ A ∣ ∣ ∣ ∣ A − 1 ∣ ∣ \kappa(A) = \frac{M}{m} = ||A||||A^{-1}|| κ(A)=mM=AA1

三条结论

条件数的应用主要体现在3个方面,我总结如下:

结论1

条件数越大,矩阵越接近不可逆。(例子来源[2])

结论2

条件数决定了当 b b b变化时, x x x的变化的上界。(例子来源[1])

考虑一个线性系统:
A x = b Ax = b Ax=b
b b b变化时:
A ( x + Δ x ) = b + Δ b A(x+\Delta x)=b+\Delta b A(x+Δx)=b+Δb
因为:
∣ ∣ b ∣ ∣ ≤ M ∣ ∣ x ∣ ∣ ∣ ∣ Δ b ∣ ∣ ≥ m ∣ ∣ Δ x ∣ ∣ ||b|| \leq M||x|| \quad ||\Delta b|| \geq m||\Delta x|| bMxΔbmΔx
得到:
∣ ∣ Δ x ∣ ∣ ∣ ∣ x ∣ ∣ ≤ κ ( A ) ∣ ∣ Δ b ∣ ∣ ∣ ∣ b ∣ ∣ \frac{||\Delta x||}{||x||} \leq \kappa(A) \frac{||\Delta b||}{||b||} xΔxκ(A)bΔb

结论3

条件数决定了当矩阵 A A A变化时,对其逆 A − 1 A^{-1} A1的影响。(见[1])

总结

资料[1]和[2]中有使用matlab计算条件数的例子,验证了上面的结论。如上是笔者的总结,然而尚且是半通不通,下键盘时甚为艰难,难免纰漏,见谅。

参考资料

[1] What is the Condition Number of a Matrix?

[2] Condition Numbers

[3] Linear Algebra And Its Application 5th edition, David C.Lay etc.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值