第三章 线性方程组解法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可以看出,在计算第i个xik+1分量时,前 面i-1个分量x1k+1, x2k+1… xi-1k+1已经从上式 中计算出来了,于是很自然会想到如果 把它们代入用来计算xik+1可能会改进迭代, 于是就得到Ga大u家s好s-Seidel迭代格式: 35
§3.3 高斯-塞德尔迭代
x ik 1a 1 ii(b iij 1 1a ijxk j 1j n i 1a ijxk j),i 1 ,2 ...,n
大家好
21
§3.1 问题的提出
由原方程
8x1 x2 4 x1 10 x2
2x3 12 x3 21
3x1 2x2 5x3 16
构造
xx12((kk11))
2.5x2(k) 0.25x3(k) 1.5x1(k) 2.5x3(k)
5.25 8.0
(2) (3)
x3(k1) 4x1(k) 0.5x2(k) 6.0
§3.1 问题的提出
是方程组的精确解,用有限次运算得不到精 确解。迭代法是牛顿最先提出来的,1940年 经司威尔提出的松弛法也是一种迭代法,共 轭梯度法则是另一种迭代法,是弗莱彻等人 于20世纪60年代提出来的。
大家好
16
§3.1 问题的提出
例3.1
5x 2y 8 3x 20 y 26
5) 给出估计误差和迭代停止判据。
大家好
25
§3.1 问题的提出
❖ 定义:在n维空间中给定一个向量序
列 x k ,xk (x1 k,x2 k,...xn k)T ,如果对每一个分
量
x
k i
,当
k
时都有极限xi,
即
lim
k
xik
xi ,
则称向量序列 x k 有极限 x(x1,x2,...x2)T,
8 1 1 x1 1
2
10
1
x2
4
1 1 5 x3 3
解:Gauss-Seidel迭代格式如下
大家好
38
§3.3 高斯-塞德尔迭代
xk1 1
(1
x2k
x3k
)/8
xk1 2
(42x1k1
x3k
)
/10
x3k1
(3
xk1 1
x2k1)
/(5)
取初始近似值x0=(0,0,0)T,各次迭代结果
30
§3.2 雅可比迭代
于是原方程组为 (U+D+L)x=b
上式两边左乘D-1得 x= D-1 b- D-1(U+L)x=Bx+f
其中 B=-D-1(U+L), f=D-1b 于是有迭代格式 xk+1=Bxk+f
大家好
31
§3.2 雅可比迭代
例3.3 用Jacobi迭代格式解下面方程组。
8 1 1 x1 1
精确解为 x* 2, y* 1
将方程写为
x 0.4y 1.6
y
0.15x
1.3
取
x(0) y(0) 0
x(1) 0.4y(0) 1.61.6
y(1)
0.15x(0)
大家好
1.31.3
17
§3.1 问题的提出
x(2) 0.4y(1) 1.62.12 y(2) 0.15x(1) 1.31.06
重复以上过程得
直接法高超三 追斯松角 赶消弛分 法去迭解法代法法选不主选元主(元列选,全选)
大家好
11
§3.1 问题的提出
【历史注记】线性代数方程组数值解法有着 悠久的历史。我国古代数学著作《九章算术》 (公元1世纪)的“方程”章中就有了较好的线 性方程组数值解法--相当于现代对方程组 的增广矩阵进行初等变换、消去未知数的方 法。中世纪的印度数学家也可以求解线性方 程组。例如12世纪的婆什迦罗的著作中,也 有求解线性方程组的内容。
大家好
33
第五章 线性方程组解法
§3.3 高斯-塞德尔迭代 (Gauss-Seidel iteration )
大家好Βιβλιοθήκη 34§3.3 高斯-塞德尔迭代
➢ 在雅可比迭代中, 计算第k+1次迭代近 似值时用的是上一次即第k次的近似值,
从式 xik1a 1ii(bij1n ,jiaijxk j),i1,2,...,n
(力学系本科生)
第三章 线性方程组解法 (Solution for Linear Algebraic
Equations )
第三章 线性方程组解法
§3.1 问题的提出
大家好
2
§3.1 问题的提出
n阶线性方程组
a11x1 a12x2 a13x3 ...a1nxn b1
a21x1
a22x2
a23x3 ...
大家好
14
§3.1 问题的提出
如何利用计算机更精确、更有效地求解大型 线性方程组,是计算数学中最重要的课题之 一。
现代计算实践中,常用的线性代数方程组 数值解法有直接法和迭代法两大类。直接法 是在没有舍入误差的假设下,经过有限次运 算就可得出方程组的精确解的方法,如各种 消元法。迭代法则采用逐次逼近的方法,即从 一个初始值出发,按照一定的计算格式(迭代 公式),构造一个大家向好 量的无穷序列,其极限15 才
或称 x k 收敛于x。
大家好
26
第五章 线性方程组解法
§3.2 雅可比迭代 (Jacobi iteration)
大家好
27
§3.2 雅可比迭代
• 最简单的迭代方法是从第i个方程解出
未知数xi,i=1,2,…,n
xi
1 aii
(bi
n
aijxj)
j1, ji
于是雅可比迭代式为
xik1a 1ii(bij1 njiaijxk j), i1,2,...,n
【注记】 通常高斯-塞得尔方法比雅可比方 法有更快的收敛速度,但不是总这样,对于 某些方程组,雅可比迭代收敛,而高斯-塞 得尔方法发散。即,并不是任何时候高斯- 塞得尔方法都比雅可比方法好。
大家好
37
§3.3 高斯-塞德尔迭代
•例3.4 用Gauss-Seidel迭代格式解下面方 程组,精确到3位有效数。
2x3 12 x3 21
3x1 2x2 5x3 16
构造
x1(kx12()k1)00.1.425x1(xk2()k) 0.01.x23(5k)x3(k)2.11.5
x(k1) 3
0.6x1(k)
0.4x2(k)
3.2
x(0) 1
x2 (0)
x3(0)
0
大家好
20
§3.1 问题的提出
得
大家好
13
§3.1 问题的提出
但他的符号记法不完善。1750年,克莱姆给 出了现在比较通用的线性方程组行列式解法, 即克莱姆法则。1764年,贝祖用行列式建立 了线性方程组的一般理论。但由于当时计算 的效率很低,这一理论几乎只有理论的意义, 实际上只能求出未知数很少的线性代数方程 组的解。只是在20世纪中叶电子计算机问世 并投入应用之后,大型线性代数方程组的数 值求解才成为可能。
写成矩阵形式为:
x k 1D 1(b L x k 1U x k)
或
(DL )xk1bU xk
如果(D+L)-1存在,则
x k 1 ( D L ) 1 U x k ( D L ) 1 b B x k f
大家好
36
§3.3 高斯-塞德尔迭代
其中 B (D L ) 1 U ,f (D L ) 1 b
2
10
1
x2
4
1 1 5 x3 3
解:Jacobi迭代格式为
大家好
32
§3.2 雅可比迭代
x(k1) 1
(1
x(k) 2
x(k) 3
)
/
8
x(k1) 2
(42x1(k)
x(k) 3
)
/10
x3(k1)
(3
x(k) 1
x(k) 2
)
/(5)
取初始向量x(0)=(0,0,0)T,各次迭代结果
...a2nxn
b2
an1x1 an2x2 an3x3 ...annxn bn
大家好
3
§3.1 问题的提出
➢线性方程组Ax=b,其中A是n维方阵, x是n维未知数向量,b是n维常数向量。
a11 a12 ... a1n
b1
x1
Aa21 a22 ... a2n, bb2, xx2
... ... ... ... ... ...
大家好
39
第五章 线性方程组解法
§3.4 逐次超松弛迭代法(SOR) (Successive Overrelaxation Method)
大家好
40
§3.4 逐次超松弛迭代法
➢ 逐次超松弛迭代简称SOR方法,是高 斯-塞得尔法的一种加速方法。
高斯-塞得尔法迭代格式得到
x % ik 1a 1 ii(b iij 1 1a ijxk j 1 j n i 1 a ijxk j),i 1 ,2 ,...,n
大家好
18
§3.1 问题的提出
如果把原方程写为
构造
x 6.667y8.667
y 2.5x4.0
x(k1) 6.667y(k) 8.667
y(k1) 2.5x(k) 4.0
5x 2y 8 3x 20 y 26
大家好
19
§3.1 问题的提出
例3.2
8x1 x2 4 x1 10 x2
➢ 我们在本章将要学习迭代法有:
✓雅可比(Jacobi)迭代法 ✓高斯-塞德尔(Gauss-Seidel)迭代法 ✓超松弛迭代法(Successive overrelaxation method, SOR)。
大家好
9
§3.1 问题的提出
➢ 我们在本章将要学习直接解法有:
✓高斯消去法(Gauss Elimination),
这种方法称为迭代法, B称为迭代矩阵。
大家好
24
§3.1 问题的提出
➢ 构造迭代法的中心问题是建立一个由
本次近似值计算下一次近似值的规则。
用迭代法求解线性方程组时要解决的问
题有: 1) 构造一种迭代格式,由xk计算xk+1
2) 给出初始向量x0 3) 证明向量序列{xk}的收敛性
4) 如果序列收敛,证明是原方程组的解
大家好
12
§3.1 问题的提出
在欧洲,16世纪的比特奥在其《算术》 (1559)中采用了与《九章算术》类似的消 元法。日本数学家关孝和在其《解伏题之法》 一书(1683)中首先采用了类似于现代行列式 法求解了三元线性方程组。稍后,莱布尼茨 提出关于行列式解线性方程组的思想(1693)。 1721年马可劳林用行列式展开式的方法给出 了二元、三元、四元线性方程组的解法,
大家好
28
§3.2 雅可比迭代
• 显然,所有aii, i=1,2,…,n不为零上式才 有意义,从线性代数知,对于任何系数 方阵非奇异的方程组,通过适当交换方 程的顺序总可以使所有方程的 a ii 0
• 把系数矩阵分解为A=U+D+L,其中U 为由A上三角部分构成的上三角阵,L为 由A下三角元素构成的下三角阵,D为由 A对角线元素构成的对角阵。
✓高斯主元素消去法(Gauss Elemination with pivoting),
✓三角分解法(LU decomposition),
✓追赶法(Forward elimination and
backward substitution)。
大家好
10
§3.1 问题的提出
Jacobi迭代法
迭代法Gauss Seidel迭代法
➢克莱姆方法求解计算量太大,需要计 算(n+1)个n阶行列式,共需要(n+1)!次乘 法运算。
大家好
6
§3.1 问题的提出
• 求解线性方程组的数值方法有两大类:
1)直接法(direct methods)。 经过有限次 算术运算可求方程组精确解的方法(实 际上,由于舍入误差不可避免,一般 得不到精确解)。适合于求解低阶稠密 阵方程组。
大家好
29
§3.2 雅可比迭代
0 a12 a13 ... a1n
0
a23
...
a
2
n
U
0 ... ...
...
...
0
0
a11
a22
D
a33 ...
a nn
a
2
1
L
a .
31
..
a n1
0 a32 ... an2
0 ... ... ... ...
0
大家好
大家好
7
§3.1 问题的提出
2) 迭代法(iterative methods)。采用极限过 程去逐步逼近线性方程组精确解的方 法。迭代法需要计算机存储单元较少, 对计算机要求不高,程序设计简单, 但有收敛性和收敛速度方面的问题。 迭代法是求解大型稀疏矩阵方程的重 要方法。
大家好
8
§3.1 问题的提出
(1)
x(0) 1
x2 (0)
x3(0)
0
大家好
22
§3.1 问题的提出
得
大家好
23
§3.1 问题的提出
➢ 如果A非奇异,则线性方程组Ax=b有 唯一解x*,将方程化为x=Bx+f,给出初 始向量x0,则有:
xk+1=Bxk+f, k=0,1,2…
可以构成一向量序列{xk},若向量序列 {xk}收敛于x*,则x*=Bx*+f, 即x*是方程 组的解 。
an1 an2 ... ann
bn
xn
大家好
4
§3.1 问题的提出
➢如果A是非奇异阵时,方程组有唯一解, 且可以用克莱姆(Grammer)法则表示:
xi
Di , D
(i1,2,...,n)
其中xi是解向量x*的第i个分量,D=detA, Di是用b代替A的第i列后得到矩阵的行列 式。
大家好
5
§3.1 问题的提出
§3.3 高斯-塞德尔迭代
x ik 1a 1 ii(b iij 1 1a ijxk j 1j n i 1a ijxk j),i 1 ,2 ...,n
大家好
21
§3.1 问题的提出
由原方程
8x1 x2 4 x1 10 x2
2x3 12 x3 21
3x1 2x2 5x3 16
构造
xx12((kk11))
2.5x2(k) 0.25x3(k) 1.5x1(k) 2.5x3(k)
5.25 8.0
(2) (3)
x3(k1) 4x1(k) 0.5x2(k) 6.0
§3.1 问题的提出
是方程组的精确解,用有限次运算得不到精 确解。迭代法是牛顿最先提出来的,1940年 经司威尔提出的松弛法也是一种迭代法,共 轭梯度法则是另一种迭代法,是弗莱彻等人 于20世纪60年代提出来的。
大家好
16
§3.1 问题的提出
例3.1
5x 2y 8 3x 20 y 26
5) 给出估计误差和迭代停止判据。
大家好
25
§3.1 问题的提出
❖ 定义:在n维空间中给定一个向量序
列 x k ,xk (x1 k,x2 k,...xn k)T ,如果对每一个分
量
x
k i
,当
k
时都有极限xi,
即
lim
k
xik
xi ,
则称向量序列 x k 有极限 x(x1,x2,...x2)T,
8 1 1 x1 1
2
10
1
x2
4
1 1 5 x3 3
解:Gauss-Seidel迭代格式如下
大家好
38
§3.3 高斯-塞德尔迭代
xk1 1
(1
x2k
x3k
)/8
xk1 2
(42x1k1
x3k
)
/10
x3k1
(3
xk1 1
x2k1)
/(5)
取初始近似值x0=(0,0,0)T,各次迭代结果
30
§3.2 雅可比迭代
于是原方程组为 (U+D+L)x=b
上式两边左乘D-1得 x= D-1 b- D-1(U+L)x=Bx+f
其中 B=-D-1(U+L), f=D-1b 于是有迭代格式 xk+1=Bxk+f
大家好
31
§3.2 雅可比迭代
例3.3 用Jacobi迭代格式解下面方程组。
8 1 1 x1 1
精确解为 x* 2, y* 1
将方程写为
x 0.4y 1.6
y
0.15x
1.3
取
x(0) y(0) 0
x(1) 0.4y(0) 1.61.6
y(1)
0.15x(0)
大家好
1.31.3
17
§3.1 问题的提出
x(2) 0.4y(1) 1.62.12 y(2) 0.15x(1) 1.31.06
重复以上过程得
直接法高超三 追斯松角 赶消弛分 法去迭解法代法法选不主选元主(元列选,全选)
大家好
11
§3.1 问题的提出
【历史注记】线性代数方程组数值解法有着 悠久的历史。我国古代数学著作《九章算术》 (公元1世纪)的“方程”章中就有了较好的线 性方程组数值解法--相当于现代对方程组 的增广矩阵进行初等变换、消去未知数的方 法。中世纪的印度数学家也可以求解线性方 程组。例如12世纪的婆什迦罗的著作中,也 有求解线性方程组的内容。
大家好
33
第五章 线性方程组解法
§3.3 高斯-塞德尔迭代 (Gauss-Seidel iteration )
大家好Βιβλιοθήκη 34§3.3 高斯-塞德尔迭代
➢ 在雅可比迭代中, 计算第k+1次迭代近 似值时用的是上一次即第k次的近似值,
从式 xik1a 1ii(bij1n ,jiaijxk j),i1,2,...,n
(力学系本科生)
第三章 线性方程组解法 (Solution for Linear Algebraic
Equations )
第三章 线性方程组解法
§3.1 问题的提出
大家好
2
§3.1 问题的提出
n阶线性方程组
a11x1 a12x2 a13x3 ...a1nxn b1
a21x1
a22x2
a23x3 ...
大家好
14
§3.1 问题的提出
如何利用计算机更精确、更有效地求解大型 线性方程组,是计算数学中最重要的课题之 一。
现代计算实践中,常用的线性代数方程组 数值解法有直接法和迭代法两大类。直接法 是在没有舍入误差的假设下,经过有限次运 算就可得出方程组的精确解的方法,如各种 消元法。迭代法则采用逐次逼近的方法,即从 一个初始值出发,按照一定的计算格式(迭代 公式),构造一个大家向好 量的无穷序列,其极限15 才
或称 x k 收敛于x。
大家好
26
第五章 线性方程组解法
§3.2 雅可比迭代 (Jacobi iteration)
大家好
27
§3.2 雅可比迭代
• 最简单的迭代方法是从第i个方程解出
未知数xi,i=1,2,…,n
xi
1 aii
(bi
n
aijxj)
j1, ji
于是雅可比迭代式为
xik1a 1ii(bij1 njiaijxk j), i1,2,...,n
【注记】 通常高斯-塞得尔方法比雅可比方 法有更快的收敛速度,但不是总这样,对于 某些方程组,雅可比迭代收敛,而高斯-塞 得尔方法发散。即,并不是任何时候高斯- 塞得尔方法都比雅可比方法好。
大家好
37
§3.3 高斯-塞德尔迭代
•例3.4 用Gauss-Seidel迭代格式解下面方 程组,精确到3位有效数。
2x3 12 x3 21
3x1 2x2 5x3 16
构造
x1(kx12()k1)00.1.425x1(xk2()k) 0.01.x23(5k)x3(k)2.11.5
x(k1) 3
0.6x1(k)
0.4x2(k)
3.2
x(0) 1
x2 (0)
x3(0)
0
大家好
20
§3.1 问题的提出
得
大家好
13
§3.1 问题的提出
但他的符号记法不完善。1750年,克莱姆给 出了现在比较通用的线性方程组行列式解法, 即克莱姆法则。1764年,贝祖用行列式建立 了线性方程组的一般理论。但由于当时计算 的效率很低,这一理论几乎只有理论的意义, 实际上只能求出未知数很少的线性代数方程 组的解。只是在20世纪中叶电子计算机问世 并投入应用之后,大型线性代数方程组的数 值求解才成为可能。
写成矩阵形式为:
x k 1D 1(b L x k 1U x k)
或
(DL )xk1bU xk
如果(D+L)-1存在,则
x k 1 ( D L ) 1 U x k ( D L ) 1 b B x k f
大家好
36
§3.3 高斯-塞德尔迭代
其中 B (D L ) 1 U ,f (D L ) 1 b
2
10
1
x2
4
1 1 5 x3 3
解:Jacobi迭代格式为
大家好
32
§3.2 雅可比迭代
x(k1) 1
(1
x(k) 2
x(k) 3
)
/
8
x(k1) 2
(42x1(k)
x(k) 3
)
/10
x3(k1)
(3
x(k) 1
x(k) 2
)
/(5)
取初始向量x(0)=(0,0,0)T,各次迭代结果
...a2nxn
b2
an1x1 an2x2 an3x3 ...annxn bn
大家好
3
§3.1 问题的提出
➢线性方程组Ax=b,其中A是n维方阵, x是n维未知数向量,b是n维常数向量。
a11 a12 ... a1n
b1
x1
Aa21 a22 ... a2n, bb2, xx2
... ... ... ... ... ...
大家好
39
第五章 线性方程组解法
§3.4 逐次超松弛迭代法(SOR) (Successive Overrelaxation Method)
大家好
40
§3.4 逐次超松弛迭代法
➢ 逐次超松弛迭代简称SOR方法,是高 斯-塞得尔法的一种加速方法。
高斯-塞得尔法迭代格式得到
x % ik 1a 1 ii(b iij 1 1a ijxk j 1 j n i 1 a ijxk j),i 1 ,2 ,...,n
大家好
18
§3.1 问题的提出
如果把原方程写为
构造
x 6.667y8.667
y 2.5x4.0
x(k1) 6.667y(k) 8.667
y(k1) 2.5x(k) 4.0
5x 2y 8 3x 20 y 26
大家好
19
§3.1 问题的提出
例3.2
8x1 x2 4 x1 10 x2
➢ 我们在本章将要学习迭代法有:
✓雅可比(Jacobi)迭代法 ✓高斯-塞德尔(Gauss-Seidel)迭代法 ✓超松弛迭代法(Successive overrelaxation method, SOR)。
大家好
9
§3.1 问题的提出
➢ 我们在本章将要学习直接解法有:
✓高斯消去法(Gauss Elimination),
这种方法称为迭代法, B称为迭代矩阵。
大家好
24
§3.1 问题的提出
➢ 构造迭代法的中心问题是建立一个由
本次近似值计算下一次近似值的规则。
用迭代法求解线性方程组时要解决的问
题有: 1) 构造一种迭代格式,由xk计算xk+1
2) 给出初始向量x0 3) 证明向量序列{xk}的收敛性
4) 如果序列收敛,证明是原方程组的解
大家好
12
§3.1 问题的提出
在欧洲,16世纪的比特奥在其《算术》 (1559)中采用了与《九章算术》类似的消 元法。日本数学家关孝和在其《解伏题之法》 一书(1683)中首先采用了类似于现代行列式 法求解了三元线性方程组。稍后,莱布尼茨 提出关于行列式解线性方程组的思想(1693)。 1721年马可劳林用行列式展开式的方法给出 了二元、三元、四元线性方程组的解法,
大家好
28
§3.2 雅可比迭代
• 显然,所有aii, i=1,2,…,n不为零上式才 有意义,从线性代数知,对于任何系数 方阵非奇异的方程组,通过适当交换方 程的顺序总可以使所有方程的 a ii 0
• 把系数矩阵分解为A=U+D+L,其中U 为由A上三角部分构成的上三角阵,L为 由A下三角元素构成的下三角阵,D为由 A对角线元素构成的对角阵。
✓高斯主元素消去法(Gauss Elemination with pivoting),
✓三角分解法(LU decomposition),
✓追赶法(Forward elimination and
backward substitution)。
大家好
10
§3.1 问题的提出
Jacobi迭代法
迭代法Gauss Seidel迭代法
➢克莱姆方法求解计算量太大,需要计 算(n+1)个n阶行列式,共需要(n+1)!次乘 法运算。
大家好
6
§3.1 问题的提出
• 求解线性方程组的数值方法有两大类:
1)直接法(direct methods)。 经过有限次 算术运算可求方程组精确解的方法(实 际上,由于舍入误差不可避免,一般 得不到精确解)。适合于求解低阶稠密 阵方程组。
大家好
29
§3.2 雅可比迭代
0 a12 a13 ... a1n
0
a23
...
a
2
n
U
0 ... ...
...
...
0
0
a11
a22
D
a33 ...
a nn
a
2
1
L
a .
31
..
a n1
0 a32 ... an2
0 ... ... ... ...
0
大家好
大家好
7
§3.1 问题的提出
2) 迭代法(iterative methods)。采用极限过 程去逐步逼近线性方程组精确解的方 法。迭代法需要计算机存储单元较少, 对计算机要求不高,程序设计简单, 但有收敛性和收敛速度方面的问题。 迭代法是求解大型稀疏矩阵方程的重 要方法。
大家好
8
§3.1 问题的提出
(1)
x(0) 1
x2 (0)
x3(0)
0
大家好
22
§3.1 问题的提出
得
大家好
23
§3.1 问题的提出
➢ 如果A非奇异,则线性方程组Ax=b有 唯一解x*,将方程化为x=Bx+f,给出初 始向量x0,则有:
xk+1=Bxk+f, k=0,1,2…
可以构成一向量序列{xk},若向量序列 {xk}收敛于x*,则x*=Bx*+f, 即x*是方程 组的解 。
an1 an2 ... ann
bn
xn
大家好
4
§3.1 问题的提出
➢如果A是非奇异阵时,方程组有唯一解, 且可以用克莱姆(Grammer)法则表示:
xi
Di , D
(i1,2,...,n)
其中xi是解向量x*的第i个分量,D=detA, Di是用b代替A的第i列后得到矩阵的行列 式。
大家好
5
§3.1 问题的提出