2.3矩阵的条件数与病态方程组

合集下载

2.3 线性方程组性态

2.3 线性方程组性态
2 x 2
(精确解为

解.1、
A
1
0 .8 6 4 8 10 1 .2 9 6 9
8
0 .1 4 4 0 , cond 0 .2 1 6 1
A
3 .2 7 1 0 ,
8
0 .2 1 6 1 2、 A , b 1 .2 9 6 9
A A ,
1

A
1
. A 1
由定理1.5知
A E A A
1
E A A
1
非奇异,且由 A 非奇异知
非奇异。
A x A x A x A x b b
2、 A A x x
A x A x A x b A x A x A x b
x A A x A A x A b
1
1
1
取与 R n n 中范数相容的
x A x A
1
R
n
中向量范数,有
x A x A
1
A A
x A
1
A A
b b
1
x A
1
1
1 A
1
A 0, b A x A
x x


1 2
5 0 %。
定义2 设 A R n n , A 0 ,若 A 的条件数越大,则称 线性方程组 A x b 病态越严重;若 A 的条件数越小,则 称线性方程组 A x b 越良态。
第二章 线性方程组数值解法
§3
线性方程组的性态与矩阵的条件数
b,其中,A R n n , A 0, b 0 ,

研究生数值分析(9)矩阵的条件数与病态线性方程组

研究生数值分析(9)矩阵的条件数与病态线性方程组
1
X A 1 b 即 X A b 于是有

另一方面,由①得
b A X
且 X 0

A 1 X b

由③与④有
X
X
A
1
A
b
b

表明解的相对误差不超过右端向量b
的相对误差的 A1 A 倍。
(2)仅有小扰动δ A(设 A+ δ A 仍可逆) ~ 的解为 X X X 设方程组 ( A A) X b 即
1 1 A 1 1.0001
10001 10000 A 10000 10000
1
及其逆矩阵
在行模意义下的条件数
Cond ( A) A1

A 20001 2.0001 40004
因此称方程组 x1 x2 2 x1 1.0001x2 2 为病态方程组。
x1 0.9999 x2 1.9999

的解为
x1 1; x2 1
它们的解变化很大,这样的方程组称为“病态”
方程组。 下面,我们给出方程组“病态”,“良态”
概念及其衡量标准,并介绍判断近似解可靠性方
法。
1 矩阵的条件数与线性方程组的性态 由于方程组AX=b系数矩阵A与右端向量b 的初始数据微小变化引起解的很大变化,这样
§3 矩阵的条件数与病态线性方程组
判断计算方法的好坏,可用算法是否稳定、 解的精确程度以及计算量、存储量的大小来衡量。 然而,同一方法用于不同问题,效果却可以相差 很远。 例如 方程组
x1 x2 2 x1 1.0001x2 2
x1 2; x2 0

解为

第2章解线性代数方程组的迭代法

第2章解线性代数方程组的迭代法

第二章解线性代数方程组的迭代法2. 1 引言在许多实际问题中,常常需要求解这样的线性代数方程组,它的系数矩阵数很高,但非零元素很少,人们称其为大型稀疏线性代数方程组,对于这类方程组,如果它乂不具有带状性,那么,再用直接法求解就不太有效,因为用直接法进行消元或矩阵的三角分解时,没有考虑到系数矩阵的稀疏性,破坏了系数矩阵的形状,导致了计算量的增加和存储单元的浪费,于是,人们常用迭代法求解大型稀疏线性代数方程组。

迭代法只需要存储系数矩阵的非零元素,这样,占用内存在单元较少,能解高阶线性代数方程组。

山于迭代法是通过逐次迭代来逼近方程组的解,因此,收敛性和收敛速度是构造迭代法时要注意的问题。

那么,是否可以构造一种适用于一般情况的迭代法呢?回答是否定的,这是因为不同的系数矩阵具有不同的性态,一般地,每一种迭代法都具有一定的适用范围,在本章的学习中将会看到,有时,某种方法对一类方程组迭代收敛,而对另一类方程组进行迭代时就会发散。

因此,我们应该学会针对具有不同性质的线性代数方程组,构造合适的迭代方法。

本章主要介绍一些基本的迭代法,并在一定的范围内讨论其中儿种方法的收敛法。

2. 2 基本迭代法考虑线性方程组如坷+如勺+…+气兀”二勺a2t x i+a22x2 + - + a2…x n =b2■•••••••••••(2. 1)采用矩阵和向量记号,我们可以把(2.1)式写成Ax = h(2.2)其中,为非奇异矩阵,设下面我们介绍雅可比(Jacobi)迭代,高斯-塞德尔(Gauss-Seidel)迭代与S0R迭代以及SS0R迭代的基本思想和算法。

为了方便地给出矩阵表示式,我们引进下列矩阵分裂:4SD-U,(2.3)其中-a2\-a n\(1)雅可比迭代的基本思想从式(2.1)的第i个方程中解出X t=(/ = 1,2,•••,«)我们把迭代前面的值代入上式右边,山计算得到等式左边的值作为一次迭代的新值,然后再把这个新值代入右边,再从左边得到一个新值,如此反复,就得到了雅可比迭代公式。

谈谈矩阵条件数及其几种计算方法

谈谈矩阵条件数及其几种计算方法

谈谈矩阵条件数及其几种计算方法摘要:矩阵条件数在数值分析领域中有重要作用,特别是在线郑治波性方程组和矩阵特征值扰动分析中有广泛的应用,条件数的大小就决定了方程组解的相对误差的大小,用条件数来判断方程组的解对于误差的敏感度是很有用的,它反映了方程组的状态。

关键词:矩阵条件数估计在生产实践和企业管理等实际问题中,经常会碰到许多大型线性方程组的求解问题,其系数阵a总是以抽样统计数据或以实验数据为基础。

统计技术的高低,实验仪器分辨率的高低等等都将给数据带来误差,而这种不可避免的误差,有时甚至是微小的变动也会引起解的极大波动,这时就称系数阵为“病态矩阵”。

对于这种“病态矩阵”一般的算法很难得出理想的结果。

我们知道,算法对误差的传播和积累有很大影响,为了减少这种影响,算法的选取是很重要的,这就是通常所说的算法的稳定性问题。

另一方面,方程组本身对计算中误差的积累也起着极其重要的作用,系数阵a的条件的好坏至关重要,如果问题是病态的,那么即使选择良好的计算方法,也不能指望有好的结果出现,因此判别原始方程组是否病态是十分重要的。

怎样有效地判别矩阵是否为病态矩阵?近几十年国内外许多从事计算数学的学者都在进行摸索研究,得知“条件数”与矩阵病态有密切关系。

“条件数”这一名词在上世纪五十年代初出现,主要用来衡量矩阵的病态程度,条件数越小,则矩阵的非奇异程度越高,称矩阵是良态的;条件数越大,则矩阵的非奇异程度越差,称矩阵为病态的。

另外,在数值分析中,常常要讨论矩阵扰动对一个给定矩阵的特征值的影响,条件数可以衡量矩阵的特征值经过扰动的偏离度,也是衡量矩阵a关于特征值问题是否良态的重要标志。

然而由于矩阵的阶数较大时,的计算量大导致应用定义计算矩阵条件数十分困难,因此,矩阵条件数的估计对研究各种矩阵问题有着重要意义。

1.条件数的提出(1)线性方程组的条件数考虑线性方程组的求解,其中用精确的计算求解得:若对常数列加入的摄动量,即考虑,所得解与之差是 .显然,对方程组的右端向量只不过改变了,而解却相差1806 .又如,设,,,由计算可知方程组和方程组的解分别为和 .由此可见,系数矩阵只产生的误差而解却产生300000 的误差。

数值分析向量,矩阵范数,矩阵的条件数

数值分析向量,矩阵范数,矩阵的条件数

§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 =≡→∈∀称为向量的能量范数。

2-3矩阵条件数

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的余量,简称余量。

病态线性方程组

病态线性方程组
Байду номын сангаас
数值分析
由实际问题建立起来的线 性方程组Ax=b本身存在模 型误差和观测误差,或者 是由计算得到的,存在舍 入误差等。总之,A,b都会 有一定扰动ΔA, Δb, 因此实 际处理的是A+ ΔA或b+ Δb ,我们需要分析A或b的扰 动对解的影响。
数值分析
矩阵的条件数与病态线性方程组
提问:求解Ax=b时,A和b的误差对x有何影响? 1:A非奇异,设精确,b有误差Δb,导致解x有多大 误差?
北京航空航天大学 数学与系统科学学院
Email: numerical_analysis@ Password:beihang 答疑时间:星期三下午2:00-5:00 答疑地点:主216
朱立永
数值分析
第二章 线性方程组的解法
第四讲 病态线性方程组求解
数值分析
Gaussian elimination
• ||A|| ||A^-1||是我们遇到的第二个放大因子;
• cond(A)的具体大小与||∙||有关,但相对大小一致; • cond(A)的大小本质取决于A,与解题的方法无关;
• cond(A)=∞,如果A是奇异的。
数值分析
常用的矩阵条件数
cond ( A ) || A || || A
1
||
cond ( A ) 1 || A ||1 || A
1
||1
cond ( A ) 2 || A ||2 || A
1
||2
数值分析
1 1 2 Hn 例:Hilbert 阵 1 n
1 2 1 3


1 n 1
1 n 1 1 2 n 1

2.3矩阵的条件数与病态方程组

2.3矩阵的条件数与病态方程组
得: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,
2.3 矩阵的条件数与病态方程组
一、矩阵的条件数 二、线性方程组的性态 三、病态线性方程组的求解
2.3 矩阵的条件数与病态方程组
例1 方程组
3.03001
11

x1 x2
4.04001
准确解: x1 , x2 T 1 , 1T
若A及b作微小变化,考虑扰动后的方程组:
3 2.9999
11

x1 x2
4.04002
准确解:
x1 , x2 T 2
, 10T
方程组解的几何解释为:平面上两条接近于平行的直线的 交点,当其中一条直线稍有变化时,新的交点与原交点相 差很远。
例2 方程组 10 7 8 7 x1 32
7
8 7
5 6 5
6 10 9
5 190

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作微小扰动:
10 7 8 7 x1 32.1
10 7 8.1 7.2 x1 32
7
8 7
5 6 5

2范数和条件数病态方程组

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]。

数值分析(hilbert矩阵)病态线性方程组的求解matlab程序

数值分析(hilbert矩阵)病态线性方程组的求解matlab程序

(Hilbert 矩阵)病态线性方程组的求解理论分析表明,数值求解病态线性方程组很困难。

考虑求解如下的线性方程组的求解Hx = b ,期中H 是Hilbert 矩阵,()ij n n Hh ,11ij h i j ,i ,j = 1,2,…,n 1.估计矩阵的2条件数和阶数的关系2.对不同的n ,取(1,1,,1)nx K ?,分别用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;xGauss=zeros(N,1);xJacobi=zeros(N,1);xnJ=zeros(N,1);xGS=zeros(N,1);xnGS=zeros(N,1);xSOR=zeros(N,1);xnSOR=zeros(N,1);xCG=zeros(N,1);xnCG=zeros(N,1);for n=1:N;x=ones(n,1);t=1.1;%初始值偏差x0=t*x;%迭代初始值e=1.0e-8;%给定的误差A=hilb(n);b=A*x;max=100000000000;%可能最大的迭代次数w=0.5;%SOR迭代的松弛因子G=Gauss(A,b);[J,nJ]=Jacobi(A,b,x0,e,max);[GS,nGS]=G_S(A,b,x0,e,max);[S_R,nS_R]=SOR(A,b,x0,e,max,w);[C_G,nC_G]=CG(A,b,x0,e,max);normG=norm(G'-x);xGauss(n)=normG;normJ=norm(J-x);nJ;xJacobi(n)=normJ;xnJ(n)=nJ;normGS=norm(GS-x);nGS;xGS(n)=normGS;xnGS(n)=nGS;normS_R=norm(S_R-x);nS_R;xSOR(n)=normS_R;xnSOR(n)=nS_R;normC_G=norm(C_G-x);nC_G;xCG(n)=normC_G;xnCG(n)=nC_G;endGauss.m%Gauss消去法function x=Gauss(A,b)n=length(b);l=zeros(n,n);x=zeros(1,n);%消去过程for i=1:n-1for j=i+1:nl(j,i)=A(j,i)/A(i,i);for k=i:nA(j,k)=A(j,k)-l(j,i)*A(i,k);endb(j)=b(j)-l(j,i)*b(i);endend%回代过程x(n)=b(n)/A(n,n);for i=n-1:-1:1c=A(i,:).*x;x(i)=(b(i)-sum(c(i+1:n)))/A(i,i);endJacobi.m%Jacobi迭代,x0表示迭代初值,e表示允许误差(迭代停止条件),n表示迭代次数,m 可能最大的迭代次数function [x,n]=Jacobi(A,b,x0,e,m)n=length(A);D=diag(diag(A));U=-triu(A,1);L=-tril(A,-1);B=D\(L+U);f=D\b;x=B*x0+f;n=1;while norm(x-x0)>ex0=x;x=B*x0+f;n=n+1;if n>mdisp('Jacobi迭代次数过多,迭代可能不收敛');break;endendG_S.m%Gauss-Seidel迭代,x0表示迭代初值,e表示允许误差(迭代停止条件),n表示迭代次数,m可能最大的迭代次数function [x,n]=G_S(A,b,x0,e,m)n=length(A);D=diag(diag(A));U=-triu(A,1);L=-tril(A,-1);B=(D-L)\U;f=(D-L)\b;x=B*x0+f;n=1;while norm(x-x0)>ex0=x;x=B*x0+f;n=n+1;if n>mdisp('Gauss-Seidel迭代次数过多,迭代可能不收敛');break;endendSOR.m%SOR超松弛迭代,x0表示迭代初值,e表示允许误差(迭代停止条件),n表示迭代次数,m可能最大的迭代次数,w松弛因子function [x,n]=SOR(A,b,x0,e,m,w)n=length(A);D=diag(diag(A));U=-triu(A,1);L=-tril(A,-1);B=(D-w*L)\((1-w)*D+w*U);f=(D-w*L)\b*w;x=B*x0+f;n=1;while norm(x-x0)>ex0=x;x=B*x0+f;n=n+1;if n>mdisp('SOR超松弛迭代次数过多,迭代可能不收敛');break;endendCG.m%CG共轭梯度法,x0表示迭代初值,e表示允许误差(迭代停止条件),n表示迭代次数,m可能最大的迭代次数function [x,n]=CG(A,b,x0,e,m)r=b-A*x0;p=r;alpha=(r'*r)/(p'*(A*p));x=x0+alpha*p;r1=b-A*x;n=1;while norm(r1)>ebelta=(r1'*r1)/(r'*r);p=r1+belta*p;r=r1;x0=x;alpha=(r'*r)/(p'*(A*p));x=x0+alpha*p;r1=b-A*x;n=n+1;if n>mdisp('CG共轭梯度法迭代次数过多,迭代可能不收敛');break;endend。

病态方程组与矩阵的条件数

病态方程组与矩阵的条件数

数值计算方法
出方程的近似解

~
x
~
x 是方程组(A+△A)x=b+ △b (1)
在没有舍入误差的解。称方程(1)为方程Ax=b的扰动 方程。其中△A, △b为由舍入误差所产生的扰动矩阵 和扰动向量。当△A, △b的微小扰动,解得(1)的解 与Ax=b的解x的相对误差不大称为良态方程,否则为病 态方程。
扰动方程组的误差界
||
|| A || || A ||
|| A ||
1.2 矩阵的条件数
定义3.5.1 设A R nn为非奇异矩阵,称
Cond(A) A A-1
为矩阵A关于线性方程组Ax b的条件数;称
K ( A) A A1
2
2
为矩阵A关于方程组Ax b的谱条件数.
线性方程组Ax b解的相对误差直接 与条件数相关, 如果c ond( A)相对较小时, 解 的相对误差也小,则称Ax b谓良态方程组; 如果c ond(A)大时, 解的相对误差也大,则称 Ax b为病态方程组。
x x b x 从而 A1 A || || A1 A1 A || ||
当 A1 A 1时得
x
A A1
b A
x
|| || 1 A A1
(
A b
A
)。
A
定理3.5.1 设A Rnn且非奇异。x是方程组Ax b的
~
精确解。x
x
x是扰动方程组(
A
A)
x
b
b的解,
如果 || A1 || || A || 1, cond( A) || A |||| A1 ||,则
x || A ||
|| ||
~ (3)
|| x || || x ||

2.3方程组的病态问题

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矩阵的条件数与病态线性方程组

2-3矩阵的条件数与病态线性方程组
~ ~ ~ 其中A A A , b b b , x x x 。
~ ~ 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 矩阵的条件数与病态线性方程组

病态线性方程组的求解

病态线性方程组的求解

病态线性方程组的求解理论分析表明,数值求解病态线性方程组很困难。

考虑求解如下的线性方程组的求解Hx = b ,期中H 是Hilbert 矩阵,()ij n n H h ⨯=,11ij h i j =+-,i ,j = 1,2,…,n1. 估计矩阵的2条件数和阶数的关系2. 对不同的n ,取(1,1,,1)n x =∈ ,分别用Gauss 消去,Jacobi 迭代,Gauss-seidel 迭代,SOR 迭代和共轭梯度法求解,比较结果。

3. 结合计算结果,试讨论病态线性方程组的求解。

1)估计矩阵的2-条件数和阶数的关系矩阵的2-条件数定义为:1222()Cond A A A-=⨯,将Hilbert 矩阵带入有:1222()Cond H H H -=⨯。

使用MA TLAB 自带的cond2函数进行计算并画出log10(cond2)和阶数n 的关系曲线如下:可见当n 小于13的时候,条件数的对数与阶数有较好的线性关系,但是随着阶数的提高,条件数趋于“稳定”地振荡。

但是事实上,n较大时,H矩阵已经奇异,直接使用cond函数计算结果可能存在不准确性。

原因是对于条件数过大的矩阵使用inv函数求逆矩阵是不可靠的,应该使用invhilb函数进行求逆,并代入定义式中求解,生成的结果如下所示。

线性度较好,可知,Hilbert矩阵的2-条件数会随其阶数n的增加呈指数增大趋势,因此当n 较大时Hilbert矩阵将是严重病态的。

对不同的n,采用各种方法求解方程编写程序,选取n=2,3,5,10,15,20,迭代条件为迭代100000次或者是计算精度达到1e-6,若迭代次数少于设定最大值,表示相邻两次迭代达到精度要求,或者是计算结果超出范围。

X0取零向量,w取1.2,计算结果如下所示:由上可见,当n大于2时,Jacobi法已经不收敛,故其迭代次数已经没有意义。

当n=15时,Gauss消去法已经不收敛。

并且随着阶数的上升,gauss消去法的误差也随之上升。

数值求解Hilbert病态线性方程组

数值求解Hilbert病态线性方程组

病态线性代数方程组的求解理论的分析表明,求解病态的线性代数方程组是困难的。

考虑方程组Hx = b 的求解,其中H 为Hilbert 矩阵,n n ij h H ⨯=)(,11-+=j i h ij ,n j i ,...,2,1,=1. 估计Hilbert 矩阵2-条件数与阶数的关系;2. 选择问题的不同维数,分别用Gauss 消去法,Jacobi 迭代,GS 迭代和SOR 迭代求解,比较结果;3. 讨论病态问题求解的算法。

解: 1、取Hilbert 矩阵阶数最高分别为n=20和n=100。

采用Hilbert 矩阵的2-条件数作为实验的比较对象,画出的曲线如下图所示:lg(())n cond H n从图中可以看出,在n ≤13之前,图像接近直线,在n >13之后,图像趋于平缓,在一定的围上下波动。

为了比较图像的线性部分,作出一条直线与已知曲线进行比较。

比较直线的关系式为:833.1519.1))(lg(-=n H cond n ,结果下图所示。

nl g (c o n d (H n ))lg(cond(Hn))~n 关系图从图2中可以看出,当n 较小时,n H cond n ~))(lg(之间近似满足线性关系。

当n 继续增大到100时,n H cond n ~))(lg(关系图下图所示:从图中可以看出,图像的走势符合在n=20时的猜想,在n 大于一定的值之后,图像趋于平缓,且在一定围震荡,同时又有一定上升趋势,但上升速度很慢。

2、选择不同的阶数n ,设方程组的精确解为xz=(1,1,…,1)T进行计算,用四种方法解x_Guass1、x_Jacobi1、x_GS1、x_SOR1对比表如下nl g (c o n d (H n ))lg(cond(Hn))~n关系图nl g (c o n d (H n ))lg(cond(Hn))~n 关系图Gauss消去法求解:选择问题的阶数为3~8时,用Gauss消去法求得的解与精确解一致,当阶数为9~14时,解开始出现偏差,而且n越大,偏差越大。

病态方程解算方法

病态方程解算方法
2、病态性程度的衡量方法 a、特征分析法 法矩阵N有多少个特征值很接近于零,设计矩阵B中就有多少 个复共线性关系。但“很接近于零”是一个很模糊的说法。
通常的判断标准,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
和最
小的特征值。
不稳定模型:输入数据很小的误差会引起待估参数很大的误差。 所以病态方程也是不稳定模型。

第六章病态方程解算方法

第六章病态方程解算方法
设有观测方程(式中观测值向量L的权阵P已经单位化): A x L e
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

数值分析-第二章小结

数值分析-第二章小结

第二章 线性方程组的数值解法-------学习小结姓名 班级 学号 一、本章学习体会通过本章的学习,我了解了线性方程组的不同解法,切实体会到了不同的计算方法对计算结果的影响。

求解线性方程组的方法可分为两大类:直接方法和迭代方法。

直接方法在解一般的线性方程组的时候比较简便,使用此方法经过有限次运算就可得到方程组的解。

然而迭代法是要构造一个无限的向量序列,其极限是方程组的解向量,它适用于求解大型稀疏线性方程组。

总的来说,直接方法和迭代法各有优点与不足,在解线性方程组的时候,我们要根据具体的线性方程组的特点来选择合适的解法,这样我们才能快速准确的得到方程组的解。

因此,我们要熟悉书中介绍的各类线性方程组的解法,同时要善于思考、总结,在使用各种方法求解的同时尽量提出自己独特的见解,通过不断练习计算,使自己的能力得到提高。

二、本章知识梳理线性方程组的求解方法分为直接法和迭代法两种,Gramer (克莱姆)法是直接法的一种,但由于其计算量比较大,在世界工作中其效率比较低、经济效益差,所以此方法我们很少使用,本章主要介绍其他的计算方法。

2.1 Gauss 消去法Gauss (高斯)消去法由消元和回代两个过程组成。

消元过程就是对方程组的增广矩阵做有限次的初等行变换,使它的系数矩阵部分变换为上三角阵。

所用的初等行变换主要有两种:第一种,交换两行的位置;第二种,用一个数乘某一行加到另一行上。

回代过程就是先由方程组的最后一个方程解出n x ,然后通过逐步回代,依次求出1n x -,2n x -,…,1x 。

这种Gauss 消去法可分为Gauss 消去法和列主元素Gauss 消去法两种。

2.1.1 顺序Gauss 消去法在Gauss 消去法的消元过程中对方程组的增广矩阵只做前述的第二种初等行变换就形成了顺序Gauss 消去法,其算法如下:记(1)ij ij a a = (i ,j=1,2,…,n )i i 1、 消元过程对于k=1,2,…,n-1执行 (1)如果()0k kka =,则算法失效,停止计算;否则转(2)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1010 0.1 B 10 0.1 10
cond ( A) 10
11
cond ( B) 1
2、病态线性方程组的求解
(2)预处理 设有预处理矩阵P,对方程组AX=b预处理 PAX=Pb 使
cond ( PA) cond ( A)
2、病态线性方程组的求解
(1)采用高精度
小 结
2.3 矩阵的条件数与病态方程组
一、矩阵的条件数
cond ( A) A A
1
二、线性方程组的性态:病态和良态 三、病态线性方程组的求解 (1)采用高精度 (2)(预处理)平衡法 (3)残差校正法 (4)奇异值分解法
证明 (1)
只要证明A+△A非奇
( A A) A( I A A)
例2 方程组
0 0.1 0.2 0 T T 准确解为: 0 . 08 0 . 04 0 0 ( x , x , x , x ) ( 1 , 1 , 1 , 1 ) 1 2 3 4 A 0 0.02 0.11 0 (2)对系数矩阵A作微小扰动: (1)对右端 作微小扰动: 0.01 b 0.01 0 0.02 7 8.1 7.2 x1 32 10 7 8 7 x1 32.1 10 6 5 x2 23 7.08 5.04 7 5 6 5 x2 22.9 x3 8 5 . 98 9 . 89 9 33 8 6 10 9 x 33.1 6.99 4.99 3 x 9 9 . 98 31 4
s1 0.1, s2 1010, D diag(10,1010)
DAx Db
1 x1 2 1 11 10 x 1 1 2
cond ( A) 4
(3)残差校正法(迭代求精法,迭代改善法)
5 13
cond ( H15 ) 8.488 1017 cond ( H 20 ) 1.9084 1018
求解病态方程组出现的问题: 例:用MATLAB求解线性方程组
Hn x b
b H n e, 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
(2)预处理
cond ( PA) cond ( A)
例4(P49)
0.1 0.1 x1 0.2 0.1 1010 x 1010 2
cond( A) 10
进行行平衡:
得同解方程组:
11
方程组病态
Ax b
~ r b Ax ~ xx
r 0?
N Y
近似解 ~ x
~ xx
Stop
Ax r
~ x x x
(3)残差校正法 (迭代求精法,迭代改善法)
(4)奇异值分解法
a)奇异值分解(Singular-Value Decomposition)
A USV
T
U、V——正交阵,S——对角阵 在MATLAB中,函数svd()作矩阵的奇异值分解 如:求H4的奇异值分解。输入
[U , S ,V ] svd (hilb (4))
如:求H4的奇异值分解。输入
[U , S ,V ] svd (hilb (4))
得到:
U=-0.7926 -0.4519 -0.3224 -0.2522 S=1.5002 0 0 0 V=-0.7926 -0.4519 -0.3224 -0.2522 0.5821 -0.3705 -0.5096 -0.5140 -0.1792 0.7419 -0.1002 -0.6383 -0.0292 0.3287 -0.7914 0.5146
1
A
1
1
A

x x A A1 1 A1 A (
A A
b b
b
b
A A
x
A
A
)
A A1 1 A
1
x
A A A
(
b b

A A
)
证毕
三、病态线性方程组的求解 1、病态线性方程组的判别
2、病态线性方程组的求解
(1)采用高精度
(2)(预处理)平衡法
(3)残差校正法 (4)奇异值分解法
三、病态线性方程组的求解 1、病态线性方程组的判别
例(P49)
三、病态线性方程组的求解 1、病态线性方程组的判别 例(P49)
0.1 0.1 A 10 0.1 10

136 13600% 1
2.3 矩阵的条件数与病态方程组
一、矩阵的条件数
★矩阵条件数的定义 ★矩阵条件数的性质
一、矩阵的条件数
Proof
改写(2.22)式:
x x

A 1 A
A1 A1 A A
(
A A

b b
)
★矩阵条件数的定义:
★矩阵条件数的性质:
(6)Cond(AB) ≤ Cond(A) Cond(B)
10 7 8 7
7
7 x1 32 5 6 5 x 2 23 x 6 10 9 33 3 x 31 5 9 10 4 8
( x1 , x2 , x3 , x4 ) (9.2,12.6,4.5,1.1)
1 1 Hn 2 1 n 1 2 1 3 1 n 1
1 , i, j 1,2,, n i j 1
1 1 3 n 1 1 4 n 1 1 1 n2 2n 1
对称正定矩阵
在MATLAB中,函数hilb()提供了Hilbert矩阵
(2)( A A) ( x x)
1
A1A 1?
b b Ax Ax Ax Ax b b Ax Ax Ax b
1 1 1
1 1 1
x A b A Ax A Ax
x A b A Ax A Ax
0 0.1691 0 0 0.5821 -0.3705 -0.5096 -0.5140
0 0 0 0 0.0067 0 0 0.0001
-0.1792 -0.0292 0.7419 0.3287 -0.1002 -0.7914 -0.6383 0.5146
b)用奇异值分解解线性方程组
Ax b
1
T
7
5
9
10 x4 30.9
T
( x1 , x2 , x3 , x4 )T (81,137,34,22)T
b b
x x



0.1 0.303% 33
A A
x x


13.6 1360% 1
4488倍
15111倍 0.3 0.9% 33
A1 b A1 A x A1 A x
(1 A1 A ) x x A1 b x A1 A
(1 A
1
A )
x x

A1 b x
A1 A
(1 A
1
A x
A USV
T
1 2 S n
令 U (u1 , u2 ,, un ), V (v1 , v2 ,, vn )
x A b VSU
T
b
i 1
n
u b
i
T i
vi
思考:这种方法有问题吗? 请大家自己查阅有关书籍《数值分析与实验,薛毅》
H 4 hilb (4)
希尔伯特(Hilbert)阵 -----最著名的病态矩阵 Hilbert矩阵的条件数:
cond ( H 4 ) 1.55 10 , cond ( H 6 ) 1.49 10
4
7
cond ( H 8 ) 1.53 1010 cond ( H 5 ) 4.76110 , cond ( H10 ) 1.6025 10
输入: 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.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
2.3 矩阵的条件数与病态方程组
一、矩阵的条件数 二、线性方程组的性态 三、病态线性方程组的求解
相关文档
最新文档