力学中的计算方法(解线性方程组的迭代法)
第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,•••,«)我们把迭代前面的值代入上式右边,山计算得到等式左边的值作为一次迭代的新值,然后再把这个新值代入右边,再从左边得到一个新值,如此反复,就得到了雅可比迭代公式。
第五章 解线性方程组的迭代解法

定义迭代法为: 定义迭代法为:
x ( k + 1) = G J x ( k ) + g
其中Jacobi迭代矩阵:GJ = D1 ( L + U ) 迭代矩阵: 其中 迭代矩阵
g = D 1b = (7.2, 8.3, 8.4)T 取 x ( 0 ) = (0, 0, 0)T , 代入迭代式,得x(1) = Bx ( 0 ) + g = (7.2, 8.3, 8.4)T x ( 2 ) = Bx (1) + g = (9.71,10.70,11.5)T x (9 ) = (10.9994,11.9994,12.9992) 精确解为 x = (11,12,13)T .
记
A = D L U
其中 D = diag (a11 ,, ann ) , L, U 分别为 A 的 严格下、上三角形部分元素构成的三角阵 严格下、上三角形部分元素构成的三角阵. Gauss-Seidel方法的矩阵形式为 方法的矩阵形式为
x ( k +1) = D1 ( Lx ( k +1) + Ux ( k ) + b)
或者
x ( k +1) = ( D L)1Ux ( k ) + ( D L)1 b
( 这说明Gauss-Seidel方法的迭代矩阵为 D L)1U 方法的迭代矩阵为 这说明
从而有
定理5.2 定理5.2 Gauss-Seidel方法收敛的充分必要条件为 方法收敛的充分必要条件为
ρ (GG ) < 1 或
计算方法3_线性方程组迭代解法

计算方法3_线性方程组迭代解法线性方程组的迭代解法是解决线性方程组的一种常见方法,常用于大规模的线性方程组求解。
该方法通过不断迭代更新解的近似值,直到满足一定的收敛准则为止。
线性方程组的迭代解法有很多种,其中最经典的是雅可比迭代法、高斯-赛德尔迭代法和超松弛迭代法。
本文将分别介绍这三种迭代解法及其计算方法。
雅可比迭代法是一种比较简单的线性方程组迭代解法,它的基本思想是先将线性方程组转化为对角占优的形式,然后通过迭代求解逐渐接近精确解。
雅可比迭代法的迭代公式为:其中,x^(k+1)是第k+1次迭代的近似解,n是未知数的个数,a_ij 是系数矩阵A的元素,f_i是方程组的右端向量的元素。
雅可比迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式,即保证矩阵A的对角元素绝对值大于其它元素的绝对值。
2.初始化向量x^(0),设定迭代终止准则。
3.根据雅可比迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
高斯-赛德尔迭代法是雅可比迭代法的改进方法,它的基本思想是在每次迭代计算x^(k+1)时,利用已经计算出的近似解作为x的一部分。
高斯-赛德尔迭代法的迭代公式为:其中,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
高斯-赛德尔迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式。
2.初始化向量x^(0),设定迭代终止准则。
3.根据高斯-赛德尔迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
超松弛迭代法是对高斯-赛德尔迭代法的一种改进方法,它引入了松弛因子ω,通过调整参数ω的值,可以加快迭代的收敛速度。
超松弛迭代法的迭代公式为:其中,0<ω<2,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
第二章解线性方程组迭代法

A=(D-L)-U
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
• 收敛条件
迭代格式X=GX+g 对任意的初值X0和向量g,收敛的充要条
件是G的谱半径 (G)<1。
下面我们看一些充分条件:
0 a12
0
U
0
a1n
0 an1n
0
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
易知,Jacobi迭代有
(D L U )x b Dx (L U )x b
x D1(L U )x D1b
定理:若线性方程组AX=b的系数矩阵A,
①若A为行或列强对角占优阵,则Jacobi和Gauss-Seidel迭代都收敛;
② 若A对称正定阵,则Gauss-Seidel迭代收敛;
③ 若A对称正定阵,且2D A也为对称正定阵,则Jacobi迭代收敛。
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
将方程组变形,化为:
11x1 x2 2x1 12x2
6x3 x3
4 1
x1 3x2 15x3 2
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
计算方法 第八章 解线性方程组的迭代法 高斯迭代法 迭代法的收敛性

3
1 1 1 1 1 1 1 1 1
1 . . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0
0 2 1 7 5 8 8 2 1 6 9 3 8 9 1 1
1 1 1 1 1 1 1 1 1
1 . 1. 1 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9
x3 0 1.1644 1.282054 1.297771 1.299719 1.299965 1.299996 1.299999 1.3
16
开始
输入aij , bi , N , , i, j 1 N
N 线形方程组组数 A 系数矩阵aij B 常数矩阵bi X 迭代过程中的解xi Y-上一轮迭代的解yi a b 将b的值赋给a 计算步骤: i 1, 2 n 1 .输入原始数据aij j 1, 2 n bi i 1, 2 n , n 2输入初使迭代值x (0) . xi 0, yi 0, i 1, 2 n 3.迭代计算x ( k ) i 1 n j 1 n 如 i j ,则xi 4.精度判断 i 1 n 如 xi yi 则j 1 n yi xi 转第三步再计算 bi aij x j aii
量利用最新的迭代值,得到
xi( k 1)
i 1 n 1 (bi aij x (jk 1) aij x k ) (i 1, 2, , n) j aii j 1 j i 1
上式称为 Gauss-Seidel 迭代法. 13
§8.2 高斯-塞德尔迭代法
( ( ( ( ( x1 k 1) 1 ( a12 x 2k ) a13 x 3k ) a14 x4k ) a1n x nk ) b1 ) a11 ( ( ( ( ( x 2k 1) 1 ( a 21 x1 k 1) a 23 x 3k ) a 24 x4k ) a 2 n x nk ) b2 ) a 22 ( ( ( ( ( x 3k 1) 1 ( a 31 x1 k 1) a 32 x 2k 1) a 34 x4k ) a 3 n x nk ) b3 ) a 33
解线性方程组的迭代法

解线性方程组的迭代法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 =将求解结果与给定解比较,而后求出上述四种方法的误差,得出哪种方法比较好。
高斯-赛得尔迭代法

0
则
L~ D 1L, U~ D1U
于是 I L~ D1D D1L D1(D L) (3 16)
7
解线性方程组的迭代法
x(k1) (I L~)1U~x(k ) (I L~)1 g I L~ D1D D1L D1(D L) L~ D 1L, U~ D1U
将式(3-16)代入式(3-15)得
b1n xn(k)
g1
x2(k
1)
b x (k1) 21 1
b23x3(k) L
b x (k 2n1 n1
)
b2nxn(k)
g2
M
x (k1) n
b x (k1) n1 1
bn2x2(k1)
bn3x3(k1)
L
b x (k1) nn1 n1
gn
(3 13)
p4
2
解线性方程组的迭代法
b2n xn(k )
g2
M
x (k 1) n
bn1x1(k )
bn2 x2(k )
bn3 x3(k )
L
bnn
1xn
( 1
k
)
gn
其中
bij
aij aii
,
gi
bi aii
(i j,i, j 1, 2,L , n),
(i 1, 2,L , n).
(3 12)
1
解线性方程组的迭代法
因此,在Jacobi迭代法的计算过程中,要同时保留
即每算出新近似解的一个分量
x , ( k 1) i
再算下一个
x 分量
x(k 1) i 1
时,用新分量
x(k 1) i
代替老分量
(k ) i
进行计算。这样,在整个计算过程中,只需用n个
高斯赛德尔迭代计算方法

高斯-赛德尔迭代(Gauss-Seidel iteration)是一种用于解线性方程组的迭代计算方法。
它是雅可比迭代(Jacobi iteration)的一种改进,以求解形如 Ax = b 的线性方程组。
迭代过程中,高斯-赛德尔方法按顺序更新解向量的每个分量,所得新值将直接用于后续计算。
这种按顺序更新的方法使收敛速度通常比雅可比迭代法更快。
给定一个 n×n 的系数矩阵 A 和一个 n 维列向量 b ,线性方程组表示为 Ax = b。
高斯-赛德尔迭代的步骤如下:将系数矩阵 A 分解为两部分:一个下三角矩阵 L(包括对角线)和一个上三角矩阵 U(不包括对角线)。
因此,A = L + U。
选取一个初始解向量 x^(0)。
对于每次迭代,按以下顺序更新 x 中的每个分量:x^(k+1)_i = (b_i - sum(A_ij * x^(k+1)_j, j=1 to i-1) - sum(A_ij * x^(k)_j, j=i+1 to n)) / A_ii, for i=1 to n其中,k 是迭代次数,x^(k)_i 是第 k 次迭代得到的解向量中的第 i 个分量。
判断收敛性:计算解向量相邻两次迭代之间的误差,通常采用范数(如无穷范数)表示。
如果误差满足设定的收敛准则(如小于某个阈值),则停止迭代。
如果未达到收敛准则,返回步骤 3,再次迭代。
需要注意的是,高斯-赛德尔迭代的收敛性并非总是得到保证。
通常,当系数矩阵 A 为严格对角占优矩阵(或正定矩阵)时,迭代方法才具有收敛性。
在实际应用中,常尝试使用一系列预处理技术(如 ILU 分解)通过改变原始线性方程组的形式来提高迭代收敛性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用矩阵范数: 矩阵 ATA 的最大 特征根 /* eigenvalue */ 算子范数
/* operator norm */
由向量范数 || · ||p 导出关于矩阵 A Rnn 的 p 范数:
|| Ax || p || A || p max max || A x || p x0 | |x | |p 1 || x || p
矩阵范数 /* matrix norms */
定义 Rmn空间的矩阵范数 || · || 对任意
A, B R mn 满足:
(1) || A || 0 ; || A || 0 A 0 (正定性 /* positive definite */ )
(2) || A || | | || A || 对任意 C (齐次性 /* homogeneous */ )
定理
定理
若A对称,则有 || A ||2 ( A) T 2 || A || ( A A ) ( A ) 证明: 2 max max
A对称
若 是 A 的一个特征根,则2 必是 A2 的特征根。
max ( A2 ) 2 ( A) 对某个 A 的特征根 成立
又:对称矩阵的特征根为实数,即 2(A) 为非负实数, 所以2-范数亦称为 故得证。 谱范数。
向量范数 /* vector norms */
定义 Rn空间的向量范数 || · || 对任意 x , y R n 满足下列条件:
(1) || x || 0 ; || x || 0 x 0 (正定性 /* positive definite */ ) (2) || x || | | || x || 对任意 C (齐次性 /* homogeneous */ )
常用条件数有:
cond d (A)2
max ( AT A) / min ( AT A)
max | | 特别地,若 A 对称,则 cond ( A)2 min | |
条件数的性质:
A可逆,则 cond (A)p 1; A可逆, R 则 cond ( A) = cond (A) ; A正交,则 cond (A)2=1; A可逆,R正交,则 cond (RA)2 = cond (AR)2 = cond (A)2 。
|| x || || b || 1 || A || || A || || x || || b ||
§2
1 || A || || A || 是关键 设 b 精确,A有误差 A ,得到的解为 x x ,即 的误差放大因子,称为 A的条件数,记为 cond (A ), ( A A)( x x ) b 越大 则 A 越病态, 难得准确解。 ( A A) x ( A A)x b A( x x ) A( x x ) b ( A A)x Ax x A1A( x x ) 1 A( I A A)x Ax || x || 1 || A || || A || || x x || x ( I A1A)1 A1Ax || A || 1 || A || || A || (只要 A充分小,使得
(3) || A B || || A || || B || (三角不等式
/* triangle inequality */ )
(4)* || AB || || A || · || B || (相容 /* consistent */ 当 m = n 时)
§1 Norms of Vectors and Matrices – Matrix Norms
计算精度可控,特别适用于求解系数为大型稀疏 矩阵 /* sparse matrices */ 的方程组。 研究 内容: 如何建立迭代格式? 向量序列的收敛条件?
收敛速度? 误差估计?
§1 向量和矩阵范数 /* Norms of Vectors and Matrices */ —— 为了误差的度量
解线性方程组的迭代法
/* Iterative Techniques for Solving Linear Systems */
求解 A x b
x)=0 的不动点迭代相似 ,将 …… A x b 等价 思 与解 f ( ( k 1 ) (k ) Bx f 。 路 改写为 x B x f 形式,建立迭代 x (k ) ( 0) { x }。 从初值 x 出发,得到序列
给 b 一个扰动 b ,其相对误差为 0.106 10 3
4
3 || b ||2 4 0.513 10 0.01% 此时精确解为 x* || b ||2 1.0203
|| x ||2 2.0102 > 200% || x ||2
1 j n
i 1
|| A ||2 max ( AT A) (谱范数 /* spectral norm */ )
§1 Norms of Vectors and Matrices – Matrix Norms
谱半径 /* spectral radius */
定义 矩阵A的谱半径记为
A 的特征根。
解:考察 A 的特征根 det( I A) 0 1 1.980050504 2 0.000050504
cond ( A) 2
测试病态程度: 0.97 10
2 x x * x 2.0203
1 39206 >> 1 2
§2
Error Analysis for Ax b .
1 例: A 0.99
1.99 0.99 , b 0.98 1 . 97
计算cond (A)2 。
1 精确解为 x 1 . 9900 9800 1 A = 9900 10000
2.9 106
注:一般判断矩阵是否病态,并不计算A1,而由经验 得出。
行列式很大或很小(如某些行、列近似相关); 元素间相差大数量级,且无规则; 主元消去过程中出现小主元; 特征值相差大数量级。
§2
Error Analysis for Ax b .
近似解的误差估计及改善: 设 Ax b 的近似解为 x * ,则一般有 r b Ax* 0 || x x* || cond (A) || r || || x || b
|| A1A || || A1 || || A || 1 ) || A || 1 || A || || A || || x || || A1 || || A || || A || || x || 1 || A1 || || A || 1 || A || || A1 || || A || || A ||
| i |,其中i 为 (A) = max 1 i n
Im
(A)
Re
§1 Norms of Vectors and Matrices – Spectral Radius
对任意算子范数 || · || 有 ( A) || A || 证明: 由算子范数的相容性,得到 || Ax || || A || || x || 将任意一个特征根 所对应的特征向量 u 代入 | | || u || || u || || Au || || A || || u ||
k
定义 若存在常数 C1、C2 > 0 使得 C1 || x ||B || x ||A C2 || x ||B ,
则称 || · ||A 和|| · ||B 等价。
定理
Rn 上一切范数都等价。
§1 Norms of Vectors and Matrices – Matrix Norms
(3) || x y || || x || || y || (三角不等式
常用向量范数:
|| x ||1
/* triangle inequality */ )
|x
i 1
n
i
|
|| x || 2
n
i1
| xi |
2
|| x || p
n
1/ p
i 1
| xi |p
|| x || max | x i |
1 i n
|| x || p || x || 注: lim p
Norms of Vectors and Matrices – Vector Norms
(k ) { x } 收敛于向量 x 定义 向量序列 *是指对每一个 1 i n 都 有 lim x i( k ) x i* 。 可以理解为 || x ( k ) x* || 0
Error Analysis for Ax b .
|| A ||
§2
Error Analysis for Ax b .
注:
cond (A) 的具体大小与 || · || 的取法有关,但相对
大小一致。 cond (A) 取决于A,与解题方法无关。
|| A || || b || || x || cond ( A) || x || 1 cond ( A) || A || || A || || A || || b ||
1 xA b
绝对误差放大因子
1 || x || || A || || b ||