线性方程组的敏度分析与消去法的舍入误差分析

合集下载

数值计算中的误差估计与分析

数值计算中的误差估计与分析

数值计算中的误差估计与分析在数值计算中,误差是无法避免的。

无论是数值积分、求根、线性方程组求解还是常微分方程求解,我们都需要对误差进行估计与分析,以保证结果的可靠性。

1.舍入误差:计算机中数字的存储精度是有限的,常用的浮点数表示法只能表示有限位数的小数。

当进行计算时,由于舍入操作会使结果产生一定的误差。

舍入误差是由于浮点数计算机表示能力造成的,它依赖于计算机所采用的机器数系统。

2.截断误差:在数值计算方法中,我们通常会使用有限项的级数展开式或多项式插值来近似解析解。

但由于展开或插值时的截断限制,会导致结果与真实结果之间的误差。

3.近似误差:数值计算方法本身就是在对问题进行近似求解,所以解的精确性受到近似精度的限制。

比如,对于数值积分来说,选择积分点的个数、插值多项式的次数都会影响结果的准确性。

4.舍入误差传播:在多步计算的过程中,每一步的舍入误差都会传播到下一步计算中,进而影响最终结果。

舍入误差的传播是一个累积效应,有时即使每一步舍入误差非常小,但在多步计算的累加下,也会导致结果产生很大的误差。

二、误差估计方法1.精度估计:对于一些数值方法,可以通过理论分析推导出误差的范围。

例如,对于数值积分,可以通过误差估计公式进行分析。

这种方法需要对问题进行数学建模,并具备一定的数学推导能力。

2.实验估计:对于一些复杂问题,很难通过理论分析得到精确的误差范围。

此时可以通过实验的方式来估计误差。

实验方法可以是计算机模拟实验,也可以是通过比较数值方法与解析解的差异来估计误差。

3.改进方法:除了估计误差大小,我们还可以通过改进数值方法来减小误差。

比如,可以采用更高阶的数值积分公式、使用更精确的数值微分方法等。

这些改进方法在一定程度上可以提高数值计算的准确性,并减小误差。

三、误差分析策略1.迭代策略:很多数值方法都是通过迭代来逐步逼近真实解的。

在迭代过程中,我们可以通过观察迭代序列的变化情况来判断结果是否趋近真实解,以及误差的变化是否在可接受范围内。

试验四 Gauuss列主元消去法解线性方程组实验报告

试验四 Gauuss列主元消去法解线性方程组实验报告

for(j=0;j<m+1;j++) scanf("%lf",&ab[i][j]); printf("您输入的系数增广矩阵为:\n"); for(i=0;i<m;i++) { for(j=0;j<=m;j++) printf(" %10.9f",ab[i][j]); printf("\n"); } for(i=0;i<m-1;i++)//i 是行 { Change(ab,m,i); for(k=i+1;k<m;k++) { f=ab[i][i]; g=ab[k][i]; e=-(g/f); for(t=0;t<m+1;t++) { ab[k][t]+=ab[i][t]*e; } } } printf("经行处理后原矩阵变为:\n"); for(k=0;k<m;k++) { for(t=0;t<=m;t++) printf(" %10.9f",ab[k][t]); printf("\n"); } printf("方程组的解为:\n"); ab[2][2]=ab[2][3]/ab[2][2]; ab[1][1]=(ab[1][3]-ab[1][2]*ab[2][2])/ab[1][1]; ab[0][0]=(ab[0][3]-ab[0][2]*ab[2][2]-ab[0][1]*ab[1][1])/ab[0][0]; for(i=0;i<m;i++) printf("x%d=%10.9f\n",i+1,ab[i][i]); }

线性方程组的四种数值解法

线性方程组的四种数值解法

线性方程组的四种数值解法(电子科技大学物理电子学院,四川 成都 610054)摘要:本文介绍了四种求解线性方程组的数值解法: 雅克比迭代法、高斯赛德尔迭代法、高斯消去法和改进的平方根法的基本原理和算法流程,通过求解具体方程,对四种求解方法进行了对比。

对于雅克比迭代法和高斯赛德尔迭代法,研究了两种算法对求解同一方程组的迭代效率差异,结果表明高斯赛德尔迭代法达到同样精度所需迭代次数较少。

对于高斯消去法,通过选择列主元的方法提高算法的准确度,计算结果表明高斯消去法计算精确,且运算复杂度也不是很高。

对于改进的平方根法,其运算复杂度低,但对于给定的方程组有着严苛的要求。

关键词:雅克比迭代法;高斯赛德尔迭代法;高斯消去法;改进的平方根法;线性方程组引言线性方程组的求解在日常生活和科研中有着极其重要的应用,但在实际运算中,当矩阵的维数较高时,用初等方法求解的计算复杂度随维数的增长非常快,因此,用数值方法求解线性方程组的重要性便显现出来。

经典的求解线性方程组的方法一般分为两类:直接法和迭代法。

前者例如高斯消去法,改进的平方根法等,后者的例子包括雅克比迭代法,高斯赛德尔迭代法等。

这些方法的计算复杂度在可以接受的范围内,因此被广泛采用。

一般来说,直接法对于阶数比较低的方程组比较有效;而后者对于比较大的方程组更有效。

在实际计算中,几十万甚至几百万个未知数的方程组并不少见。

在这些情况下,迭代法有无可比拟的优势。

另外,使用迭代法可以根据不同的精度要求选择终止时间,因此比较灵活。

在问题特别大的时候,计算机内存可能无法容纳被操作的矩阵,这给直接法带来很大的挑战。

而对于迭代法,则可以将矩阵的某一部分读入内存进行操作,然后再操作另外部分。

本文使用上述四种算法求解对应的方程组,验证各种算法的精确度和计算速度。

1 算法介绍1.1 雅克比迭代法 1.1.1 算法理论设线性方程组(1)b Ax的系数矩阵A 可逆且主对角元素 均不为零,令并将A 分解成 (2)从而(1)可写成令其中. (3)以B 1为迭代矩阵的迭代法(公式)(4)称为雅克比(Jacobi)迭代法(公式),用向量的分量来表示,(4)为(5)其中为初始向量.1.1.2 算法描述 1给定迭代初始向量X 0以及误差要求delta 2根据雅克比迭代公式计算出下一组向量 3判断X 是否满足误差要求,即||X k+1 – X k || < delta4若误差满足要求,则停止迭代返回结果;若否,则返回第二步进行下一轮迭代1.2 高斯赛德尔迭代法nna ,...,a ,a 2211()nna ,...,a ,a diag D 2211=()D D A A +-=()b x A D Dx +-=11f x B x +=b D f ,A D I B 1111--=-=()()111f x B x k k +=+⎩⎨⎧[],...,,k ,n ,...,i x a ba xnij j )k (j j i iii)k (i21021111==∑-=≠=+()()()()()Tn x ,...x ,x x 002010=1.2.1 算法理论由雅克比迭代公式可知,在迭代的每一步计算过程中是用的全部分量来计算的所有分量,显然在计算第i 个分量时,已经计算出的最新分量没有被利用,从直观上看,最新计算出的分量可能比旧的分量要好些.因此,对这些最新计算出来的第次近似的分量加以利用,就得到所谓解方程组的高斯—塞德尔(Gauss-Seidel )迭代法.把矩阵A 分解成(6)其中,分别为的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成即其中(7)以为迭代矩阵构成的迭代法(公式)(8)称为高斯—塞德尔迭代法(公式),用变量表示的形式为(9)1.2.2 算法描述 1给定迭代初始向量X 0以及误差要求delta2根据高斯赛德尔迭代公式计算出下一组向量()k x ()1+k x ()1+k ix ()()1111+-+k i k x ,...,x 1+k()1+k x()1+k jx U L D A --=()nna ,...,a ,a diag D 2211=U ,L --A ()b Ux x L D +=-22f x B x +=()()b L D f ,U L D B 1212---=-=2B ()()221f x B x k k +=+⎩⎨⎧[],...,,k ,n ,,i x a x a b a xi j n i j )k (j ij )k (j ij i ii)k (i21021111111==∑∑--=-=+=++3判断X 是否满足误差要求,即||X k+1 – X k || < delta4若误差满足要求,则停止迭代返回结果;若否,则返回第二步进行下一轮迭代1.3 高斯消去法 1.3.1 算法理论下面三种变换称为初等行变换:1.对调两行;2.以数k ≠0乘某一行中的所有元素;3.把某一行所有元素的k 倍加到另一行对应的元素上去。

数值分析报告讲义——线性方程组解法

数值分析报告讲义——线性方程组解法

数值分析讲义第三章线性方程组的解法§3.0 引言§3.1 雅可比(Jacobi)迭代法§3.2 高斯-塞德尔(Gauss-Seidel)迭代法§3.3 超松驰迭代法§3.7 三角分解法§3.4 迭代法的收敛性§3.8 追赶法§3.5 高斯消去法§3.9 其它应用§3.6 高斯主元素消去法§3.10 误差分析§3 作业讲评3 §3.11 总结§3.0 引言重要性:解线性代数方程组的有效方法在计算数学和科学计算中具有特殊的地位和作用.如弹性力学、电路分析、热传导和振动、以及社会科学及定量分析商业经济中的各种问题.分类:线性方程组的解法可分为直接法和迭代法两种方法.(a) 直接法:对于给定的方程组,在没有舍入误差的假设下,能在预定的运算次数内求得精确解.最基本的直接法是Gauss消去法,重要的直接法全都受到Gauss消去法的启发.计算代价高.(b) 迭代法:基于一定的递推格式,产生逼近方程组精确解的近似序列.收敛性是其为迭代法的前提,此外,存在收敛速度与误差估计问题.简单实用,诱人.§3.1 雅可比Jacobi 迭代法 (AX =b )1基本思想:与解f (x )=0 的不动点迭代相类似,将AX =b 改写为X =BX +f 的形式,建立雅可比方法的迭代格式:X k +1=BX (k )+f ,其中,B 称为迭代矩阵.其计算精度可控,特别适用于求解系数为大型稀疏矩阵(sparse matrices)的方程组. 2问题:(a) 如何建立迭代格式?(b) 向量序列{X k }是否收敛以及收敛条件? 3 例题分析:考虑解方程组⎪⎩⎪⎨⎧=+--=-+-=--2.453.82102.7210321321321x x x x x x x x x (1)其准确解为X *={1, 1.2, 1.3}. 建立与式(1)相等价的形式:⎪⎩⎪⎨⎧++=++=++=84.02.01.083.02.01.072.02.01.0213312321x x x x x x x x x (2) 据此建立迭代公式:⎪⎩⎪⎨⎧++=++=++=+++84.02.01.083.02.01.072.02.01.0)(2)(1)1(3)(3)(1)1(23)(2)1(1k k k k k k kk k x x x x x x x x x (3) 取迭代初值0)0(3)0(2)0(1===xxx,迭代结果如下表.JocabiMethodP31.cpp迭代次数 x1 x2 x30 0 0 01 0.72 0.83 0.842 0.971 1.07 1.153 1.057 1.1571 1.24824 1.08535 1.18534 1.282825 1.095098 1.195099 1.2941386 1.098338 1.198337 1.2980397 1.099442 1.199442 1.2993358 1.099811 1.199811 1.2997779 1.099936 1.199936 1.29992410 1.099979 1.199979 1.29997511 1.099993 1.199993 1.29999112 1.099998 1.199998 1.29999713 1.099999 1.199999 1.29999914 1.1 1.2 1.315 1.1 1.2 1.34Jocobi迭代公式:设方程组AX=b, 通过分离变量的过程建立Jocobi迭代公式,即),,2,1()(1),,2,1(0,11n i x a b a x n i a b x a n ij j j ij i iii ii ni i j ij =∑-==≠∑=≠== 由此我们可以得到Jacobi 迭代公式:),,2,1()(11)1(n i x a b a xn ij j k i ij i iik i=∑-=≠=+[Jacobi 迭代公式的算法] 1: 初始化. n , (a ij ), (b j ), (x 1) , M . 2: 执行k =1直到M 为止. ① 执行i =1直到n 为止.ii nij j j ij i i a x a b u /)(1∑-←≠= ;② 执行i =1直到n 为止.i i u x ← ;③输出k , (x i ).另外,我们也可以建立Jacobi 迭代公式的矩阵形式. 设方程组AX =b ,其中,A =(a ij )n 为非奇异阵,X =(x 1,x 2,…,x n )T , b =(b 1,b 2,…,b n )T将系数阵A 分解为: A =U +D +L ,U 为上三角矩阵,D 为对角矩阵,L 为下三角矩阵.于是AX =b 可改写为 (U +D +L )X =b⇔ X =D -1b -D -1(U +L )X由此可得矩阵形式的Jocobi 迭代公式: X k +1=BX (k )+f □§3.2 高斯-塞德尔Gauss-Seidel 迭代法注意到利用Jocobi 迭代公式计算)1(+k ix 时,已经计算好)(1)(2)(1,,,k i k k x x x - 的值,而Jocobi 迭代公式并不利用这些最新的近似值计算,仍用)(1)(2)(1,,,k i k k x x x - .这启发我们可以对其加以改进,即在每个分量的计算中尽量利用最新的迭代值,得到),,2,1()(1111)1()1(n i x a x a b a xn i j k jij i j k j ij i iik i=∑-∑-=+=-=++上式称为Gauss-Seidel 迭代法. 其矩阵形式是X =-(D +L )-1UX +(D +L )-1b , X k +1=BX (k )+f .迭代次数 x1 x2 x3 0 0 0 0 1 0.72 0.902 1.1644 2 1.04308 1.167188 1.282054 3 1.09313 1.195724 1.2977714 1.099126 1.199467 1.2997195 1.09989 1.199933 1.2999656 1.099986 1.199992 1.2999967 1.099998 1.199999 1.2999998 1.1 1.2 1.3§3.3 超松驰迭代法SOR 方法1基本思想:逐次超松弛迭代法(Successive Over Relaxation Method,简写为SOR)可以看作带参数ω的高斯-塞德尔迭代法,是G-S 方法的一种修正或加速.是求解大型稀疏矩阵方程组的有效方法之一. 2 SOR 算法的构造:设方程组AX =b , 其中,A =(a ij )n 为非奇异阵,X =(x 1,x 2,…,x n )T , b =(b 1,b 2,…,b n )T . 假设已算出x (k ),),,2,1()(1111)1()1(n i x a x a b a xn i j k j ij i j k j ij i iik i=∑-∑-=+=-=++ (1)相当于用高斯-塞德尔方法计算一个分量的公式. 若对某个参数ω,作)1(+k ix与)(k i x 加权的平均,即)()1()()1()()1()(1k i k ik i k ik ik ix xx xxx-+=+-=+++ωωω (2)其中,ω称为松弛因子.用(1)式代入(2)式,就得到解方程组AX =b 的逐次超松弛迭代公式:⎪⎩⎪⎨⎧=∑-∑-=∆∆+==-=++),,2,1()()(11)1()()1(n i x a x a b a x x x x n ij k j ij i j k j ij i iii i k i k i ω (3) 显然,当取ω=1时,式(3)就是高斯-塞德尔迭代公式. 3 例题分析:利用SOR 方法解方程组⎪⎩⎪⎨⎧=+---=-+-=--3322242024321321321x x x x x x x x x (1) 其准确解为X *={1, 1, 2}. 建立与式(1)相等价的形式:⎪⎪⎩⎪⎪⎨⎧++=-+=+=132315.05.05.025.05.021*******x x x x x x x x x (2) 据此建立迭代公式:⎪⎪⎩⎪⎪⎨⎧++=-+=+=+++132315.05.05.025.05.0)(2)(1)1(3)(3)(1)1(23)(2)1(1k k k k k k kk k x x x x x x x x x (3)利用SOR 算法,取迭代初值1)0(3)0(2)0(1===x x x ,ω=1.5,迭代结果如下表.逐次超松弛迭代法次数 x1 x2 x3 1 0.625000 0.062500 1.750000 2 0.390625 0.882813 1.468750 3 1.017578 0.516602 1.8085944 0.556885 0.880981 1.7104495 1.023712 0.743423 1.8681036 0.746250 0.908419 1.8387377 0.997715 0.860264 1.9138948 0.864050 0.936742 1.9086059 0.986259 0.922225 1.94552310 0.928110 0.958649 1.94749311 0.985242 0.955944 1.96619812 0.961661 0.973818 1.96952113 0.988103 0.974699 1.97928914 0.979206 0.983746 1.98217215 0.991521 0.985318 1.98741616 0.988509 0.990038 1.98951317 0.994341 0.991414 1.99239718 0.993538 0.993946 1.99380619 0.996367 0.994950 1.99542420 0.996313 0.996342 1.99633121 0.997724 0.997018 1.99725422 0.997871 0.997798 1.99782223 0.998596 0.998234 1.998355GS迭代法须迭代85次得到准确值X*={1, 1, 2};而SOR方法只须55次即得准确值.由此可见,适当地选择松弛因子ω,SOR法具有明显的加速收敛效果. □§3.4 迭代法的收敛性1. 向量和矩阵范数 (a) 向量范数R n 空间的向量范数 || · || ,对任意n R y x ∈,, 满足下列条件:00||||;0||||)1(=⇔=≥x x x (正定性)||||||||||)2(x x⋅=αα (齐次性)||||||||||||)3(y x y x+≤+ (三角不等式)常见的向量范数有: (1) 列范数:(2) 谱范数:(欧几里德范数或向量的长度,模)(3) 行范数:(4) p 范数:上述范数的几何意义是:∞||||x =max(|x 2-x 1|,|y 2-y 1|) ; 1||||x =|x 2-x 1|+|y 2-y 1| ;2122122)()(||||y y x x x -+-=.向量序列}{)(k x依坐标收敛于向量x * 的充要条件是向量序列}{)(k x 依范数收敛于向量x *,即0||||lim *)(=-∞→x x k k .(b) 矩阵范数n m R ⨯空间的向量范数 || ·|| ,对任意 n m R B A ⨯∈,, 满足下列条件:|||||||| || AB || (4)||||||||||||)3(||||||||||)2(00||||;0||||)1(B A B A B A A A A A A ≤+≤+⋅==⇔=≥αα常见的矩阵范数有:∑==∞≤≤nj ij a A ni 1||max ||||1 (行和范数)∑==≤≤ni ij a A nj 11||max ||||1 (列和范数))(||||m ax 2A A A T λ= (谱范数)若A 对称,则有)()(2m ax m ax A A A T λλ=.矩阵A 的谱半径记为)(||||2A A ρ=,ρ(A ) =||m ax 1i ni λ≤≤,其中λi 为A 的特征根。

消去法等解线性方程组(一)论文

消去法等解线性方程组(一)论文

消去法等解线性方程组(一)中文摘要Gauss消去法是目前求解中小规模线性方程组(即阶数不要太高,例如不超过1000)常用的方法,它一般用于系数矩阵稠密(即矩阵的绝大多数元素都是非零的)而没有任何特殊结构的线性方程组。

本文对GAUSS、列主元及完全主元消去法这几种方法进行了比较。

求解n阶线性方程组Ax=b的基本思想是在逐步消元的过程中,把方程组的系数矩阵化为上三角矩阵,从而将原方程组约化为容易求解的等价三角方程组,然后进行回代求解。

关键词:Gauss消去法; C++编程ELIMINATION METHOD FOR SOLVING LINEAREQUATIONS (一)ENGLISH ABSTRACTGauss elimination method is the small size of solving linear equations (i.e. the order is not too high, for example, not more than 1000) commonly used method, it is generally used for the coefficient matrix dense (ie, most of the matrix elements are nonzero) without any special structure of linear equations. In this paper, GAUSS, the main element and completely Elimination PCA these methods were compared. Solving n linear equations Ax = b is the basic idea of the gradual elimination process, the equations of the coefficient matrix into upper triangular matrix, thus reduced to the original equations easy to solve trigonometric equations equivalence group then back substitution to solve.Keywords: Gauss elimination method; C + + Programming目录消去法等解线性方程组(一) (1)目录 (3)一、问题背景 (4)二、问题提出 (5)三、数学原理与算法分析 (5)3.1不选主元Gauss消去法 (5)3.1.1不选主元Gauss消去法数学原理 (5)3.1.2不选主元Gauss消去法算法步骤 (6)3.2列主元Gauss消去法 (7)3.2.1列主元Gauss消去法数学原理 (7)3.2.1列主元Gauss消去法算法描述 (8)3.3完全主元Gauss消去法 (8)3.3完全主元Gauss消去法数学原理 (8)3.3.1算法描述如下 (10)3.4计算结果及敏度分析 (11)四、其他方法 (13)五、参考文献 (14)六、附录 (15)一、问题背景在古代数学和近代数学数值计算和工程应用中,求解线性方程组都是重要的课题。

数值代数课程

数值代数课程
开课院系
数学科学学院
通选课领域
是否属于艺术与美育

平台课性质
平台课类型
授课语言
中文
教材
数值线性代数,1. 徐树方,高立,张平文,北京大学出版社,2000;
矩阵计算的理论与方法,2. 徐树方,北京大学出版社,1995,Applied Numerical Linear Algebra,3. J.W.Demmel,Philadephia,1997,
向量范数和矩阵范数,线性方程组的敏度分析,基本运算的舍入误差分析,列主元 Gauss 消去法的舍入误差分析,计算解的精度估计和迭代改进。
三、最小二乘问题的解法(4学时)
最小二乘问题的数学理论,正交变换,正交化方法。
四、线性方程组的古典迭代解法(8学时)
Jacobi 迭代和 Gauss-Seidel 迭代,收敛性分析,模型问题,超松弛迭代法。
教学评估
胡俊:
本课程以课堂讲授为主,辅以课后作业和上机实验。本课程每周3学时, 按每学期17周计, 共计51学时。为了学生更好地掌握所学方法, 每周应安排3小时的上机实验, 实验内容和题目可根据学生的具体情况来安排。本大纲所包括内容可根据具体情况进行适当的增减。
平时成绩40%(上机作业20%,书面作业20%),期末考试成绩60%
五、共轭梯度法(6学时)
最速下降法,共轭梯度法及其基本性质,实用共轭梯度法及其收敛性,预优共轭梯度法,Krylov 子空间法。
六、非对称特征值问题的计算方法(10学时)
基本概念与性质,幂法,反幂法,QR 方法,求解矩阵广义特征值问题的QZ方法。
七、对称特征值问题的计算方法(8学时)
基本性质,对称 QR 方法,Jacobi 方法,二分法,分而治之法。

数值分析第二章 线性方程组的数值解法

数值分析第二章 线性方程组的数值解法

(2.2)
a11 x1 a12 x2 a1n xn b1 a22 x2 a2 n xn b2 ann xn bn
(2.3)
2.顺序高斯消去法
a11 x1 a12 x2 a13 x3 a1n xn a1, n 1 a 21 x1 a 22 x2 a 23 x3 a 2 n xn a 2, n 1 a n1 x1 a n 2 x2 a n 3 x3 a nn xn a n , n 1
(1) a12 (1) a 22

(1) an 2
0
(1) a1 n (1) a2 n (1) a nn
?
A( 1 )
(1) (1) (1) a11 a12 a1 n (1) (1) (1) a21 a22 a2 n (1) (1) (1) an 2 ann a n1
(k ) (k ) m a 用 ik ik / akk 乘第k行
加到第i行中,得到
a (1) a (1) 1k 11 (k ) akk 0 0
(1) (1) x a1 b 1 n 1 (k ) (k ) (k ) akk 1 akn xk bk ( k 1) . ( k 1) ( k 1) x ak 1k 1 ak 1n k 1 bk 1 ( k 1) ( k 1) x ( k 1) ank 1 ann n b n (1) a1 k 1
写出原方程组的增广矩阵:
0.0120 0.0100 0.1670 0.6781 1.000 0.8334 5.910 12.10 1200 4.200 981.0 3200

解线性方程组的迭代法资料

解线性方程组的迭代法资料

解线性方程组的迭代法Haha送给需要的学弟学妹摘要:因为理论的分析表明,求解病态的线性方程组是困难的,但是实际情况是否如此,需要我们来具体检验。

系数矩阵H 为Hilbert 矩阵,是著名的病态问题。

因而决定求解Hx b =此线性方程组来验证上述问题。

详细过程是通过用Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法四种方法求解Hx b =线性方程组。

关键词:病态方程组、Gauss 消去法、J 迭代法、GS 迭代法、SOR 迭代法目录:一、问题背景介绍二、建立正确额数学模型 三、求解模型的数学原理1、Gauss 消去法求解原理2、Jacobi 迭代法求解原理3、G-S 迭代法求解原理4、SOR 迭代法求解原理5、Jacobi 和G-S 两种迭代法收敛的充要条件 四、计算过程(一)Hilbert 矩阵维数n=6时1、Gauss 消去法求解2、Jacobi 迭代法求解3、G-S 迭代法求解4、SOR 迭代法求解(二)Hilbert 矩阵维数n=20、50和100时1、G-S 迭代法求解图形2、SOR 迭代法求解图形 五、编写计算程序 六、解释计算结果1、Gauss 消去法误差分析2、G-S 迭代法误差分析3、SOR 迭代法误差分析G-S 迭代法与SOR 迭代法的误差比较 七、心得体会正文:一、问题背景介绍。

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

实际情况是否如此,会出现怎样的现象呢?二、建立正确的数学模型。

考虑方程组Hx b =的求解,其中系数矩阵H 为Hilbert 矩阵,,,1(), , ,1,2,,1i j n n i j H h h i j n i j ⨯===+-这是一个著名的病态问题。

通过首先给定解(为方便计算,笔者取x 的各个分量等于1),再计算出右端,b Hx =这样Hx b =的解就明确了,再用Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法四种方法分别求解,Hx b =将求解结果与给定解比较,而后求出上述四种方法的误差,得出哪种方法比较好。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线性方程组的敏度分析与消去法的舍入误差分析我们已经在上一章详细讨论了如何用Gauss消去法求解线性方程组,但从数值计算的角度来看,这是不够的。

这是因为在实际计算时,我们不仅要面对如何求解的问题,而且也要面对数据不精确的问题和机器的有限精度问题。

只有讨论了后面这两个问题,我们才可能知道,所求得的解是否可靠。

而要讨论这两个问题,我们需要用范数来描述向量和矩阵的扰动的大小等概念。

所以在这一章中,我们首先介绍向量范数和矩阵范数的概念及其基本性质;然后对线性方程组进行敏度分析,讨论舍入误差问题,并对列主元Gauss消去法进行详细的舍入误差分析;最后介绍一种估计计算精度的实用方法以及改进其计算精度的迭代方法。

2.1 向量范数与矩阵范数2.1.1 向量范数向量范数的概念是复数模的概念的自然推广,其定义如下:定义2.1.1一个从到的非负函数叫做上的向量范数,如果满足:(1)正定性:对所有的有,而(2)且当且仅当;(3)齐次性:对所有的和有;(4)三角不(5)等式:对所有的有.定理 2.1.1 上的向量范数是连续函数。

证明对任意,因,由性质(3)得,即,及从而得到再注意到,由性质(2)和(3)得由此可知,作为上的实函数是连续的。

定理证毕最常用的向量范数是P范数(亦称H?lder范数):其中是最重要的,即它们分别叫做1范数、2范数和∞范数。

这三个范数的正定性与齐次性是显然的,而且也容易证明和满足三角不等式。

对于2范数要证明三角不等式成立,需要用到Cauchy-Schwartz不等式(其证明参见习题2.1)这个不等式是H?lder不等式的特殊情形。

事实上,利用Cauchy-Schwartz不等,我们有由此即知2范数满足三角不等式。

尽管在上可以引进各种各样的范数,但在下面定理所述的意义下所有这些范数都是等价的。

定理2.1.2设和是上任意二个范数,则存在正常数和,使得对一切有证明分两步来证明这个结论。

首先来证明和等价,即证明存在常数,使对一切且有考虑泛函记,则是一个有界闭集。

由于为S上的连续函数,所以于S上达到最大最小值,即存在使得设且,则,从而有即同理可证得和等价,即存在正常数,使对一切且有下面我们进一步来证明和等价。

由有再由令,则有定理证毕例如,对于,和这三种常用的向量范数,有由定理2.1.2可证得如下的重要结论。

定理2.1.3 设向量序列,则的充分必要条件是,即向量序列的范数收敛等价于分量收敛。

证明显然,等价于,而由定理2.1.2知,对于任意一种范数存在常数,使对一切且有于是由求极限的两边夹法则得,等价于。

定理证毕2.1.2 矩阵范数若我们用表示在位置上的元素是1,其余元素都是零的矩阵,则是线性无关的,而且任一个矩阵都可以表示为这也就是说,全体实矩阵构成的空间的维数是. 因此,亦可看作一个维的向量空间。

这样,我们自然想到将向量范数的概念推广到矩阵上。

然而这样推广的缺点是未考虑到矩阵的乘法运算。

因而实用的矩阵范数的定义是按如下的方式定义的。

定义2.1.2一个从到的非负函数叫做上的矩阵范数,如果它满足:正定性:对所有的有而且当且仅当;齐次性:对所有的和有;三角不等式:对所有的有;相容性:对所有的有因为上的矩阵范数自然可以看作是上的向量范数,所以矩阵范数具有向量范数的一切性质。

例如,有(i) 上的任意两个矩阵范数是等价的。

(ii)矩阵序列的范数收敛等价于元素收敛,即其中矩阵与向量的乘积在矩阵计算中经常出现,因此我们自然希望矩阵范数与向量范数之间最好具有某种协调性。

若将向量看作是矩阵的特殊情形,那么由矩阵范数的相容性,我们便得到了这种协调性,即矩阵范数与向量范数的相容性。

定义2.1.3 若矩阵范数和向量范数满足则称矩阵范数与向量范数是相容的。

在本节中,如果没有特殊的说明,凡同时涉及到向量范数和矩阵范数的均假定它们是相容的。

事实上,对任意给定的向量范数,我们都可以构造一个与该向量范数相容的矩阵范数,其方法如下面的定理所述。

定理2.1.4 设是上的一个向量范数。

若定义(2.1.1)则是上的一个矩阵范数。

证明由于是有界闭集,而又是上的连续函数,所以存在向量使得. 因此,由(2.1.1)所定义的矩阵范数是有意义的。

其次,对任意,由(2.1.1)知从而有(2.1.2)下面对任取的,证明满足矩阵范数的四条性质。

正定性。

设,不妨设的第列非零,即.由(2.1.2)和向量范数的正定性,有从而有.(2) 齐次性。

任取,有(3)三角不等式。

设满足使得,则由向量范数的三角不等式和(2.1.2),有(4)相容性。

设满足使得,则由(2.1.2),有定理证毕由(2.1.2)定义的矩阵范数称为从属于向量范数的矩阵范数,也称其为由向量范数诱导出的算子范数。

在上面的讨论中,为了不致引起混淆,我们将算子范数记作,今后为了简单起见,我们仍将其记作。

此外,还需指出的是,为了讨论方便,我们在本节中仅考虑了方阵的范数,但其大部分结论都适宜于长方阵的情形。

根据定理2.1.4,我们可从上最常用的范数得到上的算子范数:对于所对应的算子范数,我们有定理2.1.5 设,则有其中表示的最大特征值。

证明时定理显然成立。

因此在下面的证明中总假定.对于1范数,将给定的按列分块为,并记,则对任意的满足有此外,若取为阶单位矩阵的第列,则有,而且因此,我们有对于范数,记,则对任一满足有设的第行的1范数最大,即. 令即蕴含着,而且容易证明. 这样,我们就已经证明了对于2范数,应有注意,是半正定的对称阵,设其特征值为以及其对应的正交规范特征向量为,则对任一满足的向量有和于是,有另一方面,若取,则有所以定理证毕基于定理2.1.5,我们通常分别称矩阵的1范数、范数和2范数为列和范数、行和范数和谱范数。

此外,从这一定理容易看出,矩阵列和范数与行和范数是很容易计算的,而矩阵的谱范数就不适宜于实际计算。

它需要计算的最大特征值。

但是,谱范数所具有的许多好的性质,使它在理论研究中很有用处。

下面的定理列举了谱范数的几条最常用的性质。

定理2.1.6 设,则(1)(2)(3)对任意的正交矩阵和有,证明(1)设,那么由Cauchy不等式有另一方面,设定且,令,则且因此,对这样选择的和上面的等式是成立的。

(2)注意到另外,由(1)结果可知再由矩阵范数的相容性可知综上所述,我们有(3)利用正交矩阵的特性及(2)的结果,我们有定理证毕此外,在上的另一个常用且易于计算的矩阵范数为通常称作Frobenius范数,它是向量2范数的自然推广。

作为本节的结束,我们来证明几个本书经常使用的与范数有关的重要结果。

由于这些结果与谱半径有关,因此,为了讨论方便,我们下面的讨论将在复数范围内展开。

大家容易看出,本节前面所讲的所有概念与结果都可毫无困难地推广到复空间上。

定义2.1.4设,则称为的谱半径,这里表示的特征值的全体。

谱半径与矩阵范数之间有如下关系:定理2.1.7 设,则有对上的任意矩阵范数,有对任给的存在上的算子范数使得.证明(1)设满足则有从而有由Jordan分解定理知,存在非奇异矩阵,使得,其中,=1或0,对于任意给定的,令则有下面,我们回到本问题中来,在上引入一个算子矩阵范数(请参见注2),定义如下它所对应的向量范数(请参见注1),定义如下该范数对于矩阵有其中假定=0.定理证毕注 1 .满足向量范数定义的所有条件,非负性和奇次性显然成立,至于三角不等式,对于,有注 2 .根据算子范数有定义可知,我们只需要导出矩阵范数确实是由向量范数导出即可。

事实上,定理2.1.8 设,则的充分必要条件是M的谱半径。

证明必要性设,并假定满足。

由于对任意的k 有,故由引理6.3.2的结论(1)知对一切k成立, 从而必有.充分性设,则由引理6.3.2的结论(2)知,必有算子范数,使得,从而于是定理证毕定理2.1.9设是上的一个满足条件矩阵范数,并假定满足,则可逆且有证明用反证法。

若奇异,则方程组有非零解,即存在使,从而有,故,这与假设矛盾。

又由,有及从而有定理证毕利用定理2.1.8及定理2.1.9容易证明如下的重要结果。

定理2.1.10设,则有(1)收敛的充分必要条件是;(2) 当收敛时,有而且存在上的算子范数,使得对一切的自然数成立。

证明(1) 记,由Cauchy级数收敛准则得到:收敛的充分必要条件是(是任一正整数)。

再注意到:,那么当且仅当. 由定理2.1.8,当且仅当.(2) 注意到两边取极限,得再由定理2.1.9知,存在,于是此外,由于定理。

相关文档
最新文档