23矩阵的条件数与病态方程组讲解
矩阵的范数和条件数
① A0,& A ,0 A0
② A A,R
③ A B A B, A ,B R n n ④ A B A B, A ,B R n n
⑤ Ax Ax, xRn
上海理工大学 理学院
University of Shanghai for Science and Technology
2 2 x x 1 1 6 .0 0 0 0 6 1 x x 2 2 8 8 .0 0 0 0 1 与 2 2 x x 1 1 5 .9 9 9 9 6 9 x x 2 2 8 8 .0 0 0 0 2
其解分别为:x
x1 x2
College of SciA的实值函数N(A)=‖A‖,满足条件:
(1)非负性: ‖A‖0 ,且‖A‖=0当且仅当 A=0; (2)齐次性: ‖A‖=| |‖A‖, R; (3)三角不等式:‖A+B‖‖A‖+‖B‖; (4)柯西-施瓦茨不等式:‖AB‖‖A‖‖B‖. 则称‖A‖为矩阵A的范数.
x
b
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
注:一般判断矩阵是否病态,并不计算A1,而由经验得出。
行列式很大或很小(如某些行、列近似相关); 元素间相差大数量级,且无规则; 主元消去过程中出现小主元; 特征值相差大数量级。
A1
很小
A
A
A
A
条件数表示了对误差的放大率
上海理工大学 理学院
University of Shanghai for Science and Technology
病态矩阵
病态矩阵
病态矩阵的最根本的特征:病态矩阵的条件数(||A||*||A^(-1)||定义为A 的条件数,||A||为A的范数,MATLAB中范数的求法c = cond(A,p),p为几范数,默认情况下为二范数)很大(可以用机器精度的一半来衡量,比如双精度浮点数的精度大约是10^(-16),那么条件数大于10^8就算比较坏了.),即最大特征值与最小特征值的比值很大。
病态矩阵对扰动特别敏感。
病态矩阵矩阵不能求逆。
例如,有一个变量是其他三个变量之和,这个变量也存在于模型中,这个矩阵就是病态矩阵。
解决方法:
1.利用正则化方法可以解决这一问题
最经典的正则化方法就是Tikhonov正则化,另外一种方法就是Total Variation
2.奇异值分解
将病态矩阵分解为A=SVD
3.模拟退火算法
/view/3a75ad82bceb19e8b8f6baad.html#opennewwindow
4./link?url=ripw0P7tMkcEl2x5zmkOJ-_iDFdfOLQ0Ox9ao cKY3sAJMFXEBQa__Yq6OVb3R41__nvgiWEQhA0bxXWzZzpQiFH7_IlNWlvqyrkKjLqvQ qC。
数值分析向量,矩阵范数,矩阵的条件数
§8 向量,矩阵范数,矩阵的条件数一 、 向量、矩阵范数为了讨论线性方程组近似解的误差估计与研究解方程组迭代法的收敛性,需要在)(nn nRR ⨯或中引进向量序列(或矩阵序列)极限概念。
为此,这就需要对量空间n R (或n n R ⨯矩阵空间)元素的“大小”引进某种度量即向量范数(或矩阵范数)即距离的概念。
(一)向量范数:向量范数是3R 中向量长度概念的推广。
},{1为复数i n nx x x x x C ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡== 称为n 维复向量空间。
},)({为复数ij n n ij n n a a A A C ⨯⨯==称为n n ⨯复矩阵空间。
(2)设nn nCA C x ⨯∈∈,,称T n Hx x x x=≡),,(1 为x 的共轭转置,T H A A =称为A 共轭转置矩阵。
在许多应用中,对向量的范数(对向量的“大小”的度量)都要求满足正定条件,齐次条件和三角不等式,下面给出向量范数的抽象定义。
nR x ∈(或nC x ∈)的某个实值非负函数x x N ≡)(,如果满足下述条件(1)正定性 00,0=⇒⇐=≥x x x (2)齐次性 x ax α=其中R ∈α(或C ∈α)(3)三角不等式 )(,,nn C R y x y x y x ∈∈∀+≤+或,称x x N ≡)(是n R 上(或n C )一个向量范数(或为模)。
由三角不等式可推出不等式 (4)y x y x -≤- 下面给出矩阵计算中一些常用向量范数。
设)(),,(1nn T n C x R x x x ∈∈=或(1)向量的“∞”范数 i n i x x x N ≤≤∞∞=≡1max )((2)向量的“1”范数 ∑==≡ni i x xx N 111)((3)向量的“2”范数 2/1122/122)(),()(∑===≡ni i x x x xx N(4)向量的能量范数 设n n R A ⨯∈为对称正定阵2/1),()(x Ax xx N R x AA n =≡→∈∀称为向量的能量范数。
谈谈矩阵条件数及其几种计算方法
谈谈矩阵条件数及其几种计算方法摘要:矩阵条件数在数值分析领域中有重要作用,特别是在线郑治波性方程组和矩阵特征值扰动分析中有广泛的应用,条件数的大小就决定了方程组解的相对误差的大小,用条件数来判断方程组的解对于误差的敏感度是很有用的,它反映了方程组的状态。
关键词:矩阵条件数估计在生产实践和企业管理等实际问题中,经常会碰到许多大型线性方程组的求解问题,其系数阵a总是以抽样统计数据或以实验数据为基础。
统计技术的高低,实验仪器分辨率的高低等等都将给数据带来误差,而这种不可避免的误差,有时甚至是微小的变动也会引起解的极大波动,这时就称系数阵为“病态矩阵”。
对于这种“病态矩阵”一般的算法很难得出理想的结果。
我们知道,算法对误差的传播和积累有很大影响,为了减少这种影响,算法的选取是很重要的,这就是通常所说的算法的稳定性问题。
另一方面,方程组本身对计算中误差的积累也起着极其重要的作用,系数阵a的条件的好坏至关重要,如果问题是病态的,那么即使选择良好的计算方法,也不能指望有好的结果出现,因此判别原始方程组是否病态是十分重要的。
怎样有效地判别矩阵是否为病态矩阵?近几十年国内外许多从事计算数学的学者都在进行摸索研究,得知“条件数”与矩阵病态有密切关系。
“条件数”这一名词在上世纪五十年代初出现,主要用来衡量矩阵的病态程度,条件数越小,则矩阵的非奇异程度越高,称矩阵是良态的;条件数越大,则矩阵的非奇异程度越差,称矩阵为病态的。
另外,在数值分析中,常常要讨论矩阵扰动对一个给定矩阵的特征值的影响,条件数可以衡量矩阵的特征值经过扰动的偏离度,也是衡量矩阵a关于特征值问题是否良态的重要标志。
然而由于矩阵的阶数较大时,的计算量大导致应用定义计算矩阵条件数十分困难,因此,矩阵条件数的估计对研究各种矩阵问题有着重要意义。
1.条件数的提出(1)线性方程组的条件数考虑线性方程组的求解,其中用精确的计算求解得:若对常数列加入的摄动量,即考虑,所得解与之差是 .显然,对方程组的右端向量只不过改变了,而解却相差1806 .又如,设,,,由计算可知方程组和方程组的解分别为和 .由此可见,系数矩阵只产生的误差而解却产生300000 的误差。
2-3矩阵条件数
另一方面
b A~ x A x~ x
x~ x b A~ x A
x A b x A
x~ x x b A~ x A A1
1
1
1 1 b 1 x A b
b A~ x 1 b b cond( A)
关于条件数的补充:有定理表明,当矩阵A十分病 态时,就说明A已十分接近一个奇异矩阵。
由第一章习题4酉矩阵与谱范数的性质可得 (5)A,B可逆 cond( AB) cond( A) cond(B )
cond( AB) AB AB
1
A B A1 B 1 cond( A) cond(B)
x
x
cond( A)
b
b
cond( A) 越大,解的相对误差界可能越 大,对求解线性方程组来说就越可能呈现 病态。 cond( A) 多大A算病态,通常没有具体的定 量标准; cond( A) 越小,解的相对误差界越小,呈现 良态。
相对误差
定义 设A为非奇异矩阵, 为矩阵的算子范数,
则称 cond( A) A A1 为矩阵A的条件数。 常用的条件数为:
cond ( A) A A
1
cond1 ( A) A 1 A
1 1
cond 2 ( A) A 2 A
1 2
max ( AH A) min ( AH A)
定理2.6 设Ax = b,A为非奇异矩阵,b为非零 ~ 向量,则方程组近似解 x的事后估计式为 ~ ~ b Ax xx b A~ x
1 cond( A)
b
x
cond( A)
b
~ ~ 其中称 b Ax 为近似解 x的余量,简称余量。
数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序
数值分析(Hilbert矩阵)病态线性⽅程组的求解Matlab程序(Hilbert 矩阵)病态线性⽅程组的求解理论分析表明,数值求解病态线性⽅程组很困难。
考虑求解如下的线性⽅程组的求解Hx = b ,期中H 是Hilbert 矩阵,()ij n n H h ?=,11ij h i j = +-,i ,j = 1,2,…,n 1. 估计矩阵的2条件数和阶数的关系2. 对不同的n ,取(1,1,,1)n x =∈,分别⽤Gauss 消去,Jacobi 迭代,Gauss-seidel 迭代,SOR 迭代和共轭梯度法求解,⽐较结果。
3. 结合计算结果,试讨论病态线性⽅程组的求解。
第1⼩题:condition.m %第1⼩题程序t1=20;%阶数n=20x1=1:t1;y1=1:t1;for i=1:t1H=hilb(i);y1(i)=log(cond(H));endplot(x1,y1);xlabel('阶数n');ylabel('2-条件数的对数(log(cond(H))');title('2-条件数的对数(log(cond(H))与阶数n 的关系图');t2=200;%阶数n=200x2=1:t2;y2=1:t2;for i=1:t2H=hilb(i);y2(i)=log(cond(H));endplot(x2,y2);xlabel('阶数n');ylabel('2-条件数的对数(log(cond(H))');title('2-条件数的对数(log(cond(H))与阶数n 的关系图');画出Hilbert 矩阵2-条件数的对数和阶数的关系n=200时n=20时从图中可以看出,1)在n⼩于等于13之前,图像近似直线log(cond(H))~1.519n-1.8332)在n⼤于13之后,图像趋于平缓,并在⼀定范围内上下波动,同时随着n的增加稍有上升的趋势第2⼩题:solve.m%m第2⼩题主程序N=4000;。
2范数和条件数病态方程组
由于
( I A)( I A)1 I ( I A)1 A( I A)1 I
( I A)1 I A( I A)1
在最后一式两端取范数,得
( I A) 1 I A ( I A) 1
1 A
( I A) 1 I 1.
练习:计算矩阵
1 2 A 3 4 的各种范数.
答案 : 6,7, 15 221 , 30
§2.3 矩阵的条件数与病态线性方程组
2.3.1
矩阵的条件数与线性方程组的性态
给定线性方程组 Ax =b,现在考察,系数矩阵 A 和常数列 b 有了微小变化 △A,△b ,它如何影 响解向量 x,即,解向量 x 的变化量 △x 何样? 由于A (或 b)的元素是测量得到的,或者是 计算的结果,在前种情况下, A (或 b)常常带有 某些观测误差,在后种情况下, A (或 b)包含舍 入误差,因此我们处理的实际矩阵是A + △A (或 b+ △b )。
n×n矩阵 A,式(1.2)中定义的函数是一种矩阵范 数,并且它与给定的向量范数是相容的.
A max Ax
单位球上的 最大像值
x 1
(1.2)
证明 先证相容性. 对任意的n×n矩阵A和n维非零向
量 y. 由于
y 1 max Ax A Ay . x 1 y y
所以有
Ay y max Ax y A ,
考察方程组 Ax = b, 当 A 或 b 有微小扰动时, 对解的影响, 首先看一个例子:
1 x1 2 1 , 1 1.0001 x2 2 1 x1 2 1 x 1 1.0001 2.0001 2
范德蒙矩阵形式下的病态线性方程组求解
范德蒙矩阵形式下的病态线性方程组求解Wang Hui-rong;Jia Wu-yan【摘要】文章以范德蒙德矩阵为例,运用Matlab软件分析其阶数与2-条件数的关系,得出随着其阶数的增加,2-条件数越来越大,病态程度也越来越严重.然后选用单参数迭代法和新主元加权迭代法分别对以系数矩阵是范德蒙德矩阵的病态线性方程组进行求解,从数值结果可以看出,选取适当的加权因子对求解此病态线性方程组同样有较好的精度和收敛速度.【期刊名称】《长治学院学报》【年(卷),期】2019(036)002【总页数】3页(P3-5)【关键词】病态线性方程组;范德蒙矩阵;单参数迭代法;新主元加权迭代法【作者】Wang Hui-rong;Jia Wu-yan【作者单位】;【正文语种】中文【中图分类】O241在许多科学和工程领域中,常常会遇到求解线性方程组的问题,而方程组解的准确性则由其性态所决定。
病态线性方程组是在计算过程中经常要遇到的问题,因其系数矩阵的条件数很大,故会使得解严重失真。
近年来,求解病态线性方程组的新算法不断推出,文献[1]采用了正则化方法求解病态方程组,文献[2]提出了病态问题的增广方程组法,文献[3]给出了精细积分解法等,并给出了一些数值例子来说明有较好的效果。
但这些算法中选取的数值例子比较单一,大多数都以Hilbert矩阵为例来研究病态线性方程组,而针对系数矩阵为范德蒙德矩阵的研究相对较少。
文章选取以系数矩阵为范德蒙德矩阵的病态线性方程组,借鉴文献[4]提供的单参数迭代法和文献[5]中的新主元加权迭代法,对病态线性方程组进行分析求解。
结果表明选取的迭代方法切实可行,对分析此病态线性方程组有很大帮助。
1 范德蒙德矩阵的病态性分析选取n阶的范德蒙德矩阵如下:估计其阶数与2-条件数的关系,分析其病态性。
表1 阶数n与条件数阶数n c o n d 2(A)5 2.6 1 7 0 e+0 0 4 6 7.3 1 2 0 e+0 0 5 7 2.4 4 5 9 e+0 0 7 8 9.5 2 1 1 e+0 0 8 9 4.2 2 6 1 e+0 1 0 1 0 2.1 0 6 3e+0 1 2 1 1 1.1 6 4 5 e+0 1 4 1 2 7.0 7 1 9 e+0 1 5 1 3 4.6 7 9 7 e+0 1 7 1 4 3.3 5 1 4 e+0 1 9 1 5 2.5 8 2 4 e+0 2 1 1 6 2.1 3 0 4 e+0 2 3由表1的数据可知,随着范德蒙德矩阵阶数的增加,其2-条件数也越来越大,病态性也越来越严重参见文献[6-7]。
(完整word版)几何角度解释矩阵出现病态
矩阵的范数范数的定义若X是数域K上的线性空间,泛函║·║: X->R 满足:1. 正定性:║x║≥0,且║x║=0 <=> x=0;2. 正齐次性:║AB║│≤│A║B║;3. 次可加性(三角不等式):║A+B║≤║A║+║B║。
那么║·║称为X上的一个范数。
(注意到║x+y║≤║x║+║y║中如令y=-x,再利用║-x║=║x║可以得到║x║≥0,即║x║≥0在定义中不是必要的。
)在AX=B式中,当A、B有微小扰动时,参数估值X也有扰动:(A+ΔA)(X+ΔX)=B+ΔB (1)AΔX=ΔA(X+ΔX)+ΔBΔX=-A-1ΔA(X+ΔX)+A-1ΔB将上式两端取范数,并应用向量范数的三角不等式║AB║│≤│A║B║;║A+B║≤║A║+║B║。
||ΔX||≤||A-1||||ΔA||(||X|| +||ΔX||)+||A-1| ||ΔB|| 把含有ΔX的项移到式子的左边有:(1-||A-1||||ΔA||)||ΔX||≤||A-1||||ΔA|| ||X||+||A-1| ||ΔB||由于有||X||≤||A||/||B||将上式两端同时乘以||X||得:(1-||A-1||||ΔA||)||ΔX||/||X||≤||A-1||||ΔA|| +||A-1||||ΔB||A||/||B||;设K=||A||||A-||将上式整理的:(1-K||ΔA||/||A||)||ΔX||/||X||≤K(||ΔA||/||A||+||ΔB||/||B||);即有:||ΔX||/||X||≤k/(1-K||ΔA||/||A||)(||ΔA||/||A||+||ΔB||/||B||); 问题与实验1:试从几何的角度解释矩阵出现病态的原因,并用‘有说服力’的例子来支持你的观点;线性方程组解的敏感性的几何解释(2x2矩阵)线性方程组求解:两直线求交点下面两图分别反映了良态问题和病态问题两种情况。
矩阵的条件数
例3.设
1 i 0
A
i
0
i
,
A
C
33
,
0
b
C
3
0 i 1
为 的 使解A 线2 xˆ性的方相程对组误Ax差=b的解x xx与xˆ2
(
2
A
104
A)x b
,试问
A 应不超过何值? 2
作业
2 1 3
1.设
A
8
2
4
,
4 4 10
求A的条件数cond ( A)
作业
2.设
2 2 2
∞-条件数:
cond ( A)
A
A1
1-条件数:
cond1( A)
A 1
A1 1
2-条件数:
cond2 ( A)
A 2
A1 2
1 n
(1是AH A的最大特征值,
n是AH A的最小特征值)
矩阵的条件数
常用的条件数有:
特别地,当A是一个正规矩阵时,
cond2 ( A)
A 2
A1 1 2 n
(4)பைடு நூலகம்U是酉矩阵时,则
cond2 (U )=1
cond2 (UA)=cond2 (AU )=cond2 (A)
(5)当A、B是可逆矩阵时,则
cond(AB) cond(A)cond(B)
矩阵的条件数
1
n阶Hilbert矩阵
H
i
1 j
1
nn
1 2
1 2 1 3
1 1
cond2 (H4 )=1.5514 104 n n 1
det( A)
0.00002
条件数对病态线性方程组数值解的影响
一
、
关于 “ 态方 程组 ” 界定及 相 关“ 态” 念 病 的 病 概
在 方程 组 A X=b中 , 如果 矩 阵 A和 ( ) 端项 b的微 小变 化 , 或 右 引起 方程 组 A b的解 的巨大变 X= 化, 则称 此方 程组 为 “ 病态 ” 程组 。矩 阵 A( 对 于解方 程组 或求 逆而 言 ) 方 相 称为 “ 态 ” 阵 , 病 矩 否则称方 程 组为“ 良态 ” 程组 , 方 A称 为“ 良态 ” 矩阵 。关 于“ 微小变 化 ” “ 和 巨大 变化 ” 系相对 而 言 , 无数 量上 的标 均 并 准 ; 到 “ 态矩 阵 ” 谈 病 的概念 时 ,( ) 1 必须 明确 “ 态 ” 质是矩 阵本 身 的特 性 , 病 性 与所用 的计算 工具 和计 算 方法 无关 。 但实 际计 算 中 “ 态 ” 病 的程 度却 是通 过所用 的计 算 工具 和计算 方法 表 现 出来 的。() 须 明确 2必 “ 态” 病 是相 对什 么而 言 。 因为对 于解 方程 组 ( 或求 逆 ) 说是 病态 的矩 阵 ( 来 本文 均 系解方 程组 而言 )对 ,
起 高度重视 , 避免 误 差危 害。
关键词 : 条件 数 ; 态方 程组 ; 病 数值 解 ; 对误 差 ; 定性 ; 学 实验 相 稳 数
文章编 号 :0 9 0 7 ( 0 7 0 - 0 0 _ 0 中图 分类号 : 2 1 6 1 0 - 6 3 2 0 )4 1 8 - 4 O 4 . 文献 标识 码 : A
在 自然科 学 和工 程实 际应 用 中 , 多 问题 涉及到 解线性 方 程组 A 很 X=b 这里仅 讨 论 A∈R 且非奇 ( 一 异, b∈R 且 非零 的情 况 ) 而方程 组 A b中的 A与 b通 常是 通过 观察 或计 算 得到 , , X= 往往 带有 一定 的 误差 ,对 线性 方程 组 的解 有时 会产 生严 重 的影响 ,尤 其是对 于系数 矩 阵条件 数较 大 的病态 线性 方程组
矩阵的范数和条件数课件
02
条件数
定义与性质
定义
条件数是衡量矩阵数值稳定性的一个 重要指标,定义为矩阵A的谱范数与 Frobenius范数的比值,记为cond(A) 。
性质
条件数具有对称性,即cond(A) = cond(A^T),且对于任意常数c,有 cond(cA) = |c| * cond(A)。
条件数的计算方法
考虑计算效率和精度
在选择范数和条件数时,需要权衡计算效率和精度。如果计算效率更重要,可以选择较小 的范数和条件数;如果精度更重要,可以选择较大的范数和条件数。
使用预处理技术改善计算的稳定性和精度
当矩阵的条件数较大时,可以考虑使用预处理技术来改善计算的稳定性和精度。例如,在 求解线性方程组时,可以使用不完全分解(Incomplete LU Factorization)或共轭梯度 法(Conjugate Gradient Method)等预处理技术来降低条件数的影响。
条件数对计算稳定性的影响
矩阵的条件数越大,计算过程中数值不稳定的程度越高,计 算结果可能偏离真实值。因此,在求解线性方程组时,如果 系数矩阵的条件数较大,则需要采取适当的预处理技术来改 善计算的稳定性。
如何选择合适的范数和条件数
根据问题需求选择合适的范数
在某些应用中,可能需要选择特定的范数来衡量矩阵的大小或稳定性。例如,在图像处理 中,可能需要使用Frobenius范数来衡量矩阵的大小。
THANKS
在数值分析中的应用
矩阵的范数可以用于求解线性方程组的迭代法和直接法中,以确定收敛性和误差控制。
条件数可以用于分析数值方法的稳定性和误差传播。
05
总结与展望
矩阵的范数和条件数的重要性和意义
矩阵的范数在数学、物理、工程等领域中有着广泛的应用,如线性方程组的解、控制系统稳定性分析 、图像处理等。
2.3方程组的病态问题
∆x = (A− ∆A) (∆b − ∆Ax)
−1
∆x = (I − A−1∆A)−1 A−1(∆b − ∆Ax)
≤ (I − A−1∆A)−1
A−1 ( ∆b + ∆Ax )
A−1 ≤ ( ∆b + ∆A x ) −1 1− A ∆A
注意 A−1∆A ≤ A−1
∆ , b = A ≤ A A x 知 x ,便 A ∆ A−1 ∆ x b A ∆ A ≤ + − 1 A x ∆ x 1− A A A ≤ A−1 1− A−1 A A ∆ b ∆ A b + A ∆ A A
令
k = cond( A) = A−1 ∆x ≤ x
A , 则 近 解~ 误 估 式 得 似 x 差 计 ∆b ∆A b + A ∆A 1− k A k (2 −8)
此时表明, ∆ A
A 很小时,解的相对
~ 误差约为 A 和
~ b相对误差的 k 倍; k 很大 ~ ~ 时,即使 A 和 b的相对误差很小,解的相
~ ∆A = A− A, ~ ∆b = b − b
同计算机运算和精度有关。计算精度越高,∆A 和 ∆b 必然越小。
例:
x1 + x2 = 2 x1 + 1.0001x2 = 2.0001 x1 + x2 = 2 x1 + 1.0001x2 = 2
比较两方程的准确解,可以发现它们的准 确解差别很大
x1 = x2 ,接近真 =1
实际问题很难计算条件数。下列现象可能表 示方程组是病态的: (1)系数矩阵的行或列近似线性相关。 (2)系数矩阵的元素,数量级相差悬殊。 (3)将系数矩阵的元素稍加改变,得出的解 变化较大。 (4)采用选主元的求解过程中,主元数量级 相差悬殊。 (5)求出的解与预期的解相差较远。
2-3矩阵的条件数与病态线性方程组
~ ~ A~ x b
设 A
1 A
1
且 A 非奇异, b 0 ,则
1
~ ~ A~ x b 的解的存在性与唯一性
因为 A 1 A A 1 A 1 ,则 I A 1 A 非奇异,又 A 非奇异,故
x1 1 去法可得 。 x2 1
3 ) 残差校正法(迭代改善 )。
考虑求解Ax b , 求得的近似解为~ x ,一般 A~ x b, 即残差r b A~ x 0。
~ ~ 以残差r 为右端向量, 求解 Ax r 可得~ x 的修正量x , 记~ x x x , 如果
~ A A A A I A1A 非奇异。
2
估计 x的相对误差
A Ax x b b
x A 1b A 1Ax A 1Ax
1
A 1 A
x x
x A 1 b A 1 A x
x1 5 x2 6 x1 4.999x2 6.002
x1 1 x1 16 第一个方程组的解为 , 第二个方程组的解为 x 1 2 x2 -2
问题:出现这种差异的原因是什么?
~ ~ 考虑求解线性方程组 Ax b , 设 A和b 分别有了扰动A和b 成了A 和b ,即
计算残差的求解过程是 精确的, 即Ax r ,则
~ A~ x A~ x x b r r b
但实际计算时由于舍入 误差不可避免,故应重 复执行上述过程。
详细算法流程可参考page32-33。
2.3 矩阵的条件数与病态线性方程组
病态方程解算方法
通常的判断标准,N的特征值i中,i 0.1时,可以认为不存 在复共线性;0.05 i 0.1时,有弱复共线性;0.01 i 0.05时,有 中等强度复共线性;i 0.01时,有严重的复共线性。
不适定问题通常是病态的,但病态问题不一定就是不适定问题。不 适定问题通常是求方程的稳定近似解。
二、病态方程的解法
1、病态方程的截断奇异值解法
奇异值分解技术(Singular Value Decomposintion Technique,简记为SVD法)
设有观测方程(式中观测值向量L的权阵P已经单位化): A x L e
4、病态方程最小二乘估值的性质
病态方程处理的观测值可以是正态分布,但其LS估值并不理想,甚至很差。 虽然LS估计的方差在线性无偏类估值中是最小,但数值却很大,并表现得 相当不稳定。
常用均方误差MSE来评价病态情形下参数的估值质量。
由均方误差公式:
MSExˆ E xˆ ~x T xˆ ~x 02tr Qxˆxˆ Exˆ ~x 2
nt t1 n1 n1
A是设计矩阵,e是误差向量。得x的最小二乘最小范数解为 xˆLS A L
A是A的广义逆。 下面对A进行奇异值分解:
(1)当rank( A) p p minn,t时,对A阵可分解为
A U VT
nt nn nt tt
式中为半正定的对角阵;U、V均为正交矩阵。
阵的分块形式为
D
和最
小的特征值。
不稳定模型:输入数据很小的误差会引起待估参数很大的误差。 所以病态方程也是不稳定模型。
研究生数值分析9矩阵的条件数和病态线性方程组教学文案
Cond ( A)
即
Cond(A)A A1
通常使用的条件数有在行模意义下的条件数 与在谱模意义下的条件数,即
Cond(A)A1A
与
Cond(A)2A12
A 2
由线性代数知识,有
Cond(A)2
max(ATA) min(ATA)
定义 设A是非奇异矩阵,若 Co(nA)d 1
(1)仅b有小扰动δb
设方程组 AX=b+δb 的解为 X ~XX
即 A (XX)bb
②
②-①得 AXb
即 XA1b 于是有 X A1 b ③
另一方面,由①得
bA X 且 X 0
故
1A Xb
④
由③与④有
X A1
b
A⑤Leabharlann Xb表明解的相对误差不超过右端向量b 的相对误差的 A 1 A 倍。
(2)仅有小扰动δA(设 A+ δA 仍可逆)
因此称方程组
xx11
x2 2 1.0001x2
2
为病态方程组。
利用定义判断一个方程组是否病态,需要计算 矩阵的条件数,从而涉及计算逆矩阵,极不方便。
在实际计算中,常通过一些容易得到的信息来推断 方程组是否病态。 例如,当出现下列情况之一时,方程组很可能病态:
(1)用选主元消去法消元中出现小主元; (2)系数行列式的绝对值相对地很小; (3)系数矩阵元素间在数量级上相差很大且无 一定规律; (4)出现了相对地很大的解。
研究生数值分析9矩阵的条件数 和病态线性方程组
1 矩阵的条件数与线性方程组的性态 由于方程组AX=b系数矩阵A与右端向量b
的初始数据微小变化引起解的很大变化,这样 的方程组称为“病态”方程组。
第六章病态方程解算方法
nt t1 n1 n1
A是设计矩阵,e是误差向量。得x的最小二乘最小范数解为 xˆLS A L
A是A的广义逆。 下面对A进行奇异值分解:
(1)当rank( A) p p minn,t时,对A阵可分解为
A U VT
nt nn nt tt
式中为半正定的对角阵;U、V均为正交矩阵。
阵的分块形式为
D
nt
0
0 0
其中: D diag 1, 2, p , p RA min(n,t)
且1 2 p 0. i是A阵全部的非零奇异值。
A的奇异值分解式可写为
p
A VU T i1viuiT i 1
得解为:
p
xˆLS
t1
AL
v u L 1
T
i 1
i
i t1
i 1n
n1
在第T步对其截断,得病态方程的截断奇异值法解:
T
xˆT
t1 i1
v u L 1
T
i
i t1
i 1n
对于实对称法矩阵N BT PB,可作如下谱分解:
N BT PB GGT
G为由N的特征值i的特征向量组成的正交阵。将特征值排为 1 2 n 0
正交阵特性:GGT I , 或GT G1。 (注意:该G阵与秩亏平差的附加阵G阵完全没关系,秩亏平差的G阵
是N阵的零特征值对应的特征向量,而此处的G阵是N阵所有特征值 对应的特征向量)
1
2
02tr
BT B
数值分析之病态线性方程组的解法
(
+
)
|| x || 1− || A || || A−1 || || A || || b || || A ||
|| A ||
数值分析
当方程组的系数矩阵A或右端项b受到 扰动ΔA, Δb时,引起的解的相对误差完全 由
来决定,它刻画了方程组的解对原始数据 的敏感程度。
数值分析
矩阵的条件数
定义:对非奇异矩阵A,称乘积||A|| ||A-1||为矩 阵A的条件数,记作
数值分析
三类扰动
线性方程组Ax=b的扰动可分为如下三类: 1. 系数矩阵A精确,常数项b有误差Δb; 2. b精确,A有误差ΔA; 3. A和b均有误差 ΔA和 Δb.
问题:求解Ax=b时,A和b的误差对x有何影响?
数值分析
扰动误差分析
1. 系数矩阵A精确,常数项b有误差Δb;
A(x + x) = b + b x = A−1b
=
2
1 3
1 n
1
n+1
1 n
1 n+1
1 2 n −1
cond (H2) = 27
cond (H3) 748
cond (H6) = 2.9 106
注:现在用Matlab数学软件可以很方便求矩阵的条件数!
数值分析
病态、良态线性方程组
定义:对线性方程组Ax=b,若cond(A)相对很大, 则称Ax=b是病态的线性方程组,也称A为病态矩阵; 若cond(A)相对很小,则称Ax=b是良态的线性方程 组,也称A为良态矩阵。
1.
;
2. A非奇异,k≠0,则cond(kA)=cond(A);
3. A非奇异对称矩阵,则cond(A)2=|λ1/λn|; 4. A是正交矩阵,则cond(A)2=1; 5. A可逆,R正交,则
2.3矩阵的条件数与病态方程组
•
2、阅读一切好书如同和过去最杰出的 人谈话 。10:2 0:2910: 20:2910 :2012/ 12/2020 10:20:29 AM
•
3、越是没有本领的就越加自命不凡。 20.12.1 210:20: 2910:2 0Dec-20 12-Dec-20
•
4、越是无能的人,越喜欢挑剔别人的 错儿。 10:20:2 910:20: 2910:2 0Saturday, December 12, 2020
Proof
x
A A1
A b
改写(2.22)式:
x
(
)
1 A A1 A
A
b
A
★矩阵条件数的定义: ★矩阵条件数的性质:
(6)Cond(AB) ≤ Cond(A) Cond(B)
二、线性方程组的性态
答案: (1)cond ( A) 4104 , x (2,0)T (2)x x (1,1)T
• 10、你要做多大的事情,就该承受多大的压力。12/12/
2020 10:20:29 AM10:20:292020/12/12
• 11、自己要先看得起自己,别人才会看得起你。12/12/
谢 谢 大 家 2020 10:20 AM12/12/2020 10:20 AM20.12.1220.12.12
得:ans=1.000,1,000,1.000,1.000,0.9999 1.0002,0.9996,1.0004,0.9998,1.000
输入: n 5; H hilb(n);b H *ones(n,1); x H \ b; x,
得:ans=1.000,1,000,1.000,1.000,1.000 输入: n 10; H hilb(n);b H *ones(n,1); x H \ b; x,
条件数和病态方程组的关系
条件数和病态方程组的关系《条件数和病态方程组的关系》咱先得知道啥是条件数,啥是病态方程组,这就好比你要去一个地方,得先知道起点和终点一样。
条件数啊,就像是一个衡量工具,衡量方程组的某种特性的。
那方程组呢,就像一群小伙伴手拉手,每个方程都是一个小伙伴,它们凑在一起就组成了方程组这个小团体。
病态方程组啊,这名字听起来就有点怪。
你想啊,正常的方程组就像一个健康的人,各项指标都正常。
可病态方程组呢,就像一个身体有点毛病的人,稍微有点风吹草动就不行了。
那这个和条件数有啥关系呢?如果一个方程组是病态的,它的条件数就会很大。
这就好比一个身体弱的人,他的各种健康指标波动就会很大。
你看啊,条件数大的时候,方程组里的系数稍微有点小变化,那这个方程组的解就可能变得天差地别。
就像你走在路上,本来只需要迈一小步,结果因为地面有点小起伏,你就可能一下子滑出去老远。
那条件数小的时候呢?这就意味着方程组比较健康,就像一个身体倍儿棒的人。
方程组里的系数有点小变化,对解的影响不会太大。
这就好比一个强壮的人,偶尔被风吹一下,也不会晃悠得太厉害。
咱再打个比方。
假设你在搭积木,这个积木就像方程组。
如果积木搭得很稳,就像条件数小的健康方程组,你轻轻碰一下,它可能还稳稳当当的。
可要是积木搭得摇摇晃晃,就像病态方程组,那你哪怕只是吹口气,这积木可能就塌了。
从数学的角度来说,条件数是反映矩阵或者方程组对数据微小变化的敏感度的。
病态方程组就是那种对数据变化超级敏感的方程组,而这种敏感度就体现在条件数上。
条件数就像是一个报警器,条件数大了,就告诉你这个方程组不太稳定,可能是病态的。
再想一下做菜。
方程组就像一道菜的菜谱,条件数就像这个菜谱的容错率。
正常的菜谱容错率高,就像条件数小的方程组,你调料放多放少一点,菜的味道可能不会差太多。
可要是容错率低,就像条件数大的病态方程组,调料稍微有点变化,这道菜可能就没法吃了。
有时候啊,我们在解方程组的时候,得先看看这个条件数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b
33
4488倍
x
13.6
1360%
x
1
(x1, x2, x3, x4 )T (81,137,34,22)T
15111倍
A 0.3 0.9%
A
33
x
136
13600%
x
1
2.3 矩阵的条件数与病态方程组
一、矩阵的条件数 ★矩阵条件数的定义 ★矩阵条件数的性质
1010
例(P49)
cond(A) 1011
1010 0.1
n1
1 n
1 n 1
1 n2
1 2n 1
对称正定矩阵
在MATLAB中,函数hilb()提供了Hilbert矩阵
H4 hilb(4)
希尔伯特(Hilbert)阵 -----最著名的病态矩阵
Hilbert矩阵的条件数:
cond (H4 ) 1.55104, cond (H6 ) 1.49107 cond (H8 ) 1.531010 cond (H5 ) 4.761105, cond (H10) 1.60251013 cond (H15) 8.4881017cond (H20) 1.90841018
得:ans=1.000, 1,000, 1.000, 1.000, 0.999 1.000,0.999, 1.000, 0.999,1.000
输入: n 20; H hilb(n);b H *ones(n,1); x H \ b; x,
得:ans=1.000, 1,000, 1.001, 0.979 1.202 -0.141, 4.886, - 6.842, 9.446, -2.9071 6.4271, -19.1914,24.787,9.577, -50.545, 65.566, -47.751, 27.814, -9.191, 2.883
求解病态方程组出现的问题:
例:用MATLAB求解线性方程组
Hnx b
b Hne, e (1,1,,1)T
输入: n 5; H hilb(n);b H *ones(n,1); x H \ b; x,
得:ans=1.000,1,000,1.000,1.000,1.000 输入: n 10; H hilb(n);b H *ones(n,1); x H \ b; x,
得:ans=1.000,1,000,1.000,1.000,0.9999 1.0002,0.9996,1.0004,0.9998,1.000
输入: n 5; H hilb(n);b H *ones(n,1); x H \ b; x,
得:ans=1.000,1,000,1.000,1.000,1.000 输入: n 10; H hilb(n);b H *ones(n,1); x H \ b; x,
3 2.9999
11
x1 x2
4.04002
准确解:
x1 , x2 T
2
, 10T
方程组解的几何解释为:平面上两条接近于平行的直线的 交点,当其中一条直线稍有变化时,新的交点与原交点相 差很远。
例2 方程组 10 7 8 7 x1 32
三、病态线性方程组的求解 1、病态线性方程组的判别 2、病态线性方程组的求解
(1)采用高精度 (2)(预处理)平衡法 (3)残差校正法 (4)奇异值分解法
三、病态线性方程组的求解 1、病态线性方程组的判别
例(P49)
三、病态线性方程组的求解 1、病态线性方程组的判别
0.1 0.1
A 0.1
10 7 8 7 x1 32.1
7
8 7
5 6 5
6 10 9
5 9 10
x2 x3 x4
22.9 3303..91
10 7 8.1 7.2 x1 32
b
x
(3) 0.005%, 50%
b
x
希尔伯特(Hilbert)阵 -----最著名的病态矩阵
定义: H (hi, j )nn ,
hi, j
i
1 ,i, j 1
j
1,2,, n
1
Hn
1
2
1
2 1
3
1
3 1
1
n 1
4
一、矩阵的条件数
Proof
x
A A1
A b
改写(2.22)式:
x
(
)
1 A A1 A
A
b
A
★矩阵条件数的定义: ★矩阵条件数的性质:
(6)Cond(AB) ≤ Cond(A) Cond(B)
二、线性方程组的性态
答案: (1)cond(A) 4104, x (2,0)T (2)x x (1,1)T
7
8 7
5 6 5
6 10 9
5 9 10
x2 x3 x4
23 3331
(准1确A)解对0为0.00右0.081:端00b0.0(0..004x作211,微x00200.小.11,1x扰3,00x动00..2042):T (2()1,1对,1,系1)数T 矩阵A作微小扰动:
.98 4.99
6 9.89
9
5 9 9.98
x2 x3 x4
23 3331
(x1, x2, x3, x4 )T (9.2,12.6,4.5,1.1)T
b 0.1 0.303%
2.3 矩阵的条件数与病态方程组
一、矩阵的条件数 二、线性方程组的性态 三、病态线性方程组的求解
2.3 矩阵的条件数与病态方程组
例1 方程组
3.03001
11
x1 x2
4.04001
准确解: x1 , x2 T 1 , 1T
若A及b作微小变化,考虑扰动后的方程组: