计算方法线性方程组解法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(k ) (k )
( k 1)
(2) (3) (1)
x1
(0)
x2
(0)
x3
(0)
0
§3.1 问题的提出
得
§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*是方程 组的解 。
x1 2 .5 x 2 0 .2 5 x 3 5 .2 5 ( k 1) (k ) (k ) x2 1 .5 x 1 2 .5 x 3 8 .0 x ( k 1 ) 4 x ( k ) 0 .5 x ( k ) 6 .0 1 2 3
(k ) (k ) ( k 1)
x1
(0)
x2
(0)
x3
(0)
0
§3.1 问题的提出
得
§3.1 问题的提出
由原方程 构造
8 x1 x 2 2 x 3 1 2 4 x1 1 0 x 2 x 3 2 1 3x 2 x 5 x 16 1 2 3
§3.1 问题的提出
如果A是非奇异阵时,方程组有唯一解, 且可以用克莱姆(Grammer)法则表示:
xi Di D , ( i 1, 2 , ..., n )
其中xi是解向量x*的第i个分量,D=detA, Di是用b代替A的第i列后得到矩阵的行列 式。
§3.1 问题的提出
克莱姆方法求解计算量太大,需要计 算(n+1)个n阶行列式,共需要(n+1)!次乘 法运算。
§3.1 问题的提出
【历史注记】线性代数方程组数值解法有着 悠久的历史。我国古代数学著作《九章算术》 (公元1世纪)的“方程”章中就有了较好的线 性方程组数值解法--相当于现代对方程组 的增广矩阵进行初等变换、消去未知数的方 法。中世纪的印度数学家也可以求解线性方 程组。例如12世纪的婆什迦罗的著作中,也 有求解线性方程组的内容。
§3.1 问题的提出
• 求解线性方程组的数值方法有两大类:
1)直接法(direct methods)。 经过有限次 算术运算可求方程组精确解的方法(实 际上,由于舍入误差不可避免,一般 得不到精确解)。适合于求解低阶稠密 阵方程组。
§3.1 问题的提出
2) 迭代法(iterative methods)。采用极限过 程去逐步逼近线性方程组精确解的方 法。迭代法需要计算机存储单元较少, 对计算机要求不高,程序设计简单, 但有收敛性和收敛速度方面的问题。 迭代法是求解大型稀疏矩阵方程的重 要方法。
§3.2 雅可比迭代
0 U
a1 1 D
a1 2 0
a1 3 a 23 0
... ... ... ...
a1 n a2n ... ... 0
a nn
a 22 a 33 ...
§3.1 问题的提出
在欧洲,16世纪的比特奥在其《算术》 (1559)中采用了与《九章算术》类似的消 元法。日本数学家关孝和在其《解伏题之法》 一书(1683)中首先采用了类似于现代行列式 法求解了三元线性方程组。稍后,莱布尼茨 提出关于行列式解线性方程组的思想(1693)。 1721年马可劳林用行列式展开式的方法给出 了二元、三元、四元线性方程组的解法,
于是有迭代格式 xk+1=Bxk+f
§3.2 雅可比迭代
例3.3 用Jacobi迭代格式解下面方程组。
8 2 1 1 10 1 1 1 5 x1 1 x2 4 x3 3
解:Jacobi迭代格式为
§3.1 问题的提出
如何利用计算机更精确、更有效地求解大型 线性方程组,是计算数学中最重要的课题之 一。
现代计算实践中,常用的线性代数方程组 数值解法有直接法和迭代法两大类。直接法 是在没有舍入误差的假设下,经过有限次运 算就可得出方程组的精确解的方法,如各种 消元法。迭代法则采用逐次逼近的方法,即从 一个初始值出发,按照一定的计算格式(迭代 公式),构造一个向量的无穷序列,其极限才
高斯主元素消去法(Gauss Elemination with pivoting), 三角分解法(LU decomposition),
追赶法(Forward elimination and backward substitution)。
§3.1 问题的提出
迭 代 法 直 接 法 Jaco b i 迭 代 法 G a u ss S eid el 迭 代 法 超 松 弛 迭 代 法 不 选主 元 高 斯 消 去 法 选 主 元 ( 列 选 , 全 选 ) 三角分解法 追赶法
计算方法 (力学系本科生)
第三章 线性方程组解法
(Solution for Linear Algebraic Equations )
第三章 线性方程组解法
§3.1 问题的提出
§3.1 问题的提出
n阶线性方程组
a 1 1 x1 a 1 2 x 2 a 1 3 x 3 ... a 1 n x n b1 a 2 1 x1 a 2 2 x 2 a 2 3 x 3 ... a 2 n x n b 2 ... a x a x a x ... a x b n2 2 n3 3 nn n n n1 1
0 a 21 L a 31 ... a n1
0 a 32 ... an2 0 ... ... ... ...
0
§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
构造
x 6 .6 6 7 y 8 .6 6 7 ( k 1) (k ) y 2 .5 x 4 .0
(k )
( k 1)
k x(k) y(k)
0 0 0
1 8.667 4.0
2 35.335 -17.668
3 -109.126 -84.358
… … …
§3.1 问题的提出
这种方法称为迭代法, B称为迭代矩阵。
§3.1 问题的提出
构造迭代法的中心问题是建立一个由 本次近似值计算下一次近似值的规则。 用迭代法求解线性方程组时要解决的问 题有: 1) 构造一种迭代格式,由xk计算xk+1 2) 给出初始向量x0 3) 证明向量序列{xk}的收敛性 4) 如果序列收敛,证明是原方程组的解 5) 给出估计误差和迭代停止判据。
§3.1 问题的提出
定义:在n维空间中给定一个向量序 列 x ,x ( x , x , ... x ) ,如果对每一个分 k 量 x i ,当 k 时都有极限xi, 即 lim x x , T 则称向量序列 x 有极限 x ( x1 , x 2 , ... x 2 ) , 或称 x 收敛于x。
§3.1 问题的提出
但他的符号记法不完善。1750年,克莱姆给 出了现在比较通用的线性方程组行列式解法, 即克莱姆法则。1764年,贝祖用行列式建立 了线性方程组的一般理论。但由于当时计算 的效率很低,这一理论几乎只有理论的意义, 实际上只能求出未知数很少的线性代数方程 组的解。只是在20世纪中叶电子计算机问世 并投入应用之后,大型线性代数方程组的数 值求解才成为可能。
(1 )
§3.1 问题的提出
x 0 .4 y 1 .6 2 .1 2 (2) (1 ) y 0 .1 5 x 1 .3 1 .0 6
(2) (1 )
重复以上过程得
k
x(k) y(k)
0
0 0
1
1.6 -1.3
2
2.12 -1.06
3
2.024 -0.982
§3.1 问题的提出
我们在本章将要学习迭代法有: 雅可比(Jacobi)迭代法 高斯-塞德尔(Gauss-Seidel)迭代法 超松弛迭代法(Successive overrelaxation method, SOR)。
§3.1 问题的提出
我们在本章将要学习直接解法有:
高斯消去法(Gauss Elimination),
§3.1 问题的提出
是方程组的精确解,用有限次运算得不到精 确解。迭代法是牛顿最先提出来的,1940年 经司威尔提出的松弛法也是一种迭代法,共 轭梯度法则是另一种迭代法,是弗莱彻等人 于20世纪60年代提出来的。
§3.1 问 8 3 x 20 y 26
§3.2 雅可比迭代
x1 (1 x 2 x 3 ) / 8 ( k 1) (k ) (k ) ( 4 2 x1 x 3 ) / 1 0 x2 x ( k 1 ) ( 3 x ( k ) x ( k ) ) /( 5 ) 1 2 3
k
k k k k T 1 2 n
k
k
i
i
k
k
第五章 线性方程组解法
§3.2 雅可比迭代 (Jacobi iteration)
§3.2 雅可比迭代
• 最简单的迭代方法是从第i个方程解出 未知数xi,i=1,2,…,n
xi 1 a ii ( bi
j 1, j i
n
a ij x j )
4
1.9928 -0.9964
5
1.99856 -1.00108
6
2.000432 -1.000216
…
… …
§3.1 问题的提出
如果把原方程写为
x 6 .6 6 7 y 8 .6 6 7 y 2 .5 x 4 .0
5x 2 y 8 3 x 20 y 26
精确解为
x 2, y 1
* *
将方程写为 取
(0)
x 0 .4 y 1 .6 y 0 .1 5 x 1 .3
x
y
(0)
0
(0)
x 0 .4 y 1 .6 1 .6 (1 ) (0) y 0 .1 5 x 1 .3 1 .3
例3.2
8 x1 x 2 2 x 3 1 2 4 x1 1 0 x 2 x 3 2 1 3x 2 x 5 x 16 1 2 3
构造
x1 0 .1 2 5 x 2 0 .2 5 x 3 1 .5 ( k 1) (k ) (k ) x2 0 .4 x1 0 .1 x 3 2 .1 x ( k 1 ) 0 .6 x ( k ) 0 .4 x ( k ) 3 .2 3 1 2
于是雅可比迭代式为
xi
k 1
1 a ii
( bi
j 1 j i
n
a ij x j ),
k
i 1, 2 , ..., n
§3.2 雅可比迭代
• 显然,所有aii, i=1,2,…,n不为零上式才 有意义,从线性代数知,对于任何系数 方阵非奇异的方程组,通过适当交换方 程的顺序总可以使所有方程的 a ii 0 • 把系数矩阵分解为A=U+D+L,其中U 为由A上三角部分构成的上三角阵,L为 由A下三角元素构成的下三角阵,D为由 A对角线元素构成的对角阵。
§3.1 问题的提出
线性方程组Ax=b,其中A是n维方阵, x是n维未知数向量,b是n维常数向量。
a1 1 a 21 A ... a n1 a1 2 a 22 ... an2 ... ... ... ... a1 n a2n , ... a nn b1 b2 b , ... bn x1 x2 x ... xn
( k 1)
(2) (3) (1)
x1
(0)
x2
(0)
x3
(0)
0
§3.1 问题的提出
得
§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*是方程 组的解 。
x1 2 .5 x 2 0 .2 5 x 3 5 .2 5 ( k 1) (k ) (k ) x2 1 .5 x 1 2 .5 x 3 8 .0 x ( k 1 ) 4 x ( k ) 0 .5 x ( k ) 6 .0 1 2 3
(k ) (k ) ( k 1)
x1
(0)
x2
(0)
x3
(0)
0
§3.1 问题的提出
得
§3.1 问题的提出
由原方程 构造
8 x1 x 2 2 x 3 1 2 4 x1 1 0 x 2 x 3 2 1 3x 2 x 5 x 16 1 2 3
§3.1 问题的提出
如果A是非奇异阵时,方程组有唯一解, 且可以用克莱姆(Grammer)法则表示:
xi Di D , ( i 1, 2 , ..., n )
其中xi是解向量x*的第i个分量,D=detA, Di是用b代替A的第i列后得到矩阵的行列 式。
§3.1 问题的提出
克莱姆方法求解计算量太大,需要计 算(n+1)个n阶行列式,共需要(n+1)!次乘 法运算。
§3.1 问题的提出
【历史注记】线性代数方程组数值解法有着 悠久的历史。我国古代数学著作《九章算术》 (公元1世纪)的“方程”章中就有了较好的线 性方程组数值解法--相当于现代对方程组 的增广矩阵进行初等变换、消去未知数的方 法。中世纪的印度数学家也可以求解线性方 程组。例如12世纪的婆什迦罗的著作中,也 有求解线性方程组的内容。
§3.1 问题的提出
• 求解线性方程组的数值方法有两大类:
1)直接法(direct methods)。 经过有限次 算术运算可求方程组精确解的方法(实 际上,由于舍入误差不可避免,一般 得不到精确解)。适合于求解低阶稠密 阵方程组。
§3.1 问题的提出
2) 迭代法(iterative methods)。采用极限过 程去逐步逼近线性方程组精确解的方 法。迭代法需要计算机存储单元较少, 对计算机要求不高,程序设计简单, 但有收敛性和收敛速度方面的问题。 迭代法是求解大型稀疏矩阵方程的重 要方法。
§3.2 雅可比迭代
0 U
a1 1 D
a1 2 0
a1 3 a 23 0
... ... ... ...
a1 n a2n ... ... 0
a nn
a 22 a 33 ...
§3.1 问题的提出
在欧洲,16世纪的比特奥在其《算术》 (1559)中采用了与《九章算术》类似的消 元法。日本数学家关孝和在其《解伏题之法》 一书(1683)中首先采用了类似于现代行列式 法求解了三元线性方程组。稍后,莱布尼茨 提出关于行列式解线性方程组的思想(1693)。 1721年马可劳林用行列式展开式的方法给出 了二元、三元、四元线性方程组的解法,
于是有迭代格式 xk+1=Bxk+f
§3.2 雅可比迭代
例3.3 用Jacobi迭代格式解下面方程组。
8 2 1 1 10 1 1 1 5 x1 1 x2 4 x3 3
解:Jacobi迭代格式为
§3.1 问题的提出
如何利用计算机更精确、更有效地求解大型 线性方程组,是计算数学中最重要的课题之 一。
现代计算实践中,常用的线性代数方程组 数值解法有直接法和迭代法两大类。直接法 是在没有舍入误差的假设下,经过有限次运 算就可得出方程组的精确解的方法,如各种 消元法。迭代法则采用逐次逼近的方法,即从 一个初始值出发,按照一定的计算格式(迭代 公式),构造一个向量的无穷序列,其极限才
高斯主元素消去法(Gauss Elemination with pivoting), 三角分解法(LU decomposition),
追赶法(Forward elimination and backward substitution)。
§3.1 问题的提出
迭 代 法 直 接 法 Jaco b i 迭 代 法 G a u ss S eid el 迭 代 法 超 松 弛 迭 代 法 不 选主 元 高 斯 消 去 法 选 主 元 ( 列 选 , 全 选 ) 三角分解法 追赶法
计算方法 (力学系本科生)
第三章 线性方程组解法
(Solution for Linear Algebraic Equations )
第三章 线性方程组解法
§3.1 问题的提出
§3.1 问题的提出
n阶线性方程组
a 1 1 x1 a 1 2 x 2 a 1 3 x 3 ... a 1 n x n b1 a 2 1 x1 a 2 2 x 2 a 2 3 x 3 ... a 2 n x n b 2 ... a x a x a x ... a x b n2 2 n3 3 nn n n n1 1
0 a 21 L a 31 ... a n1
0 a 32 ... an2 0 ... ... ... ...
0
§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
构造
x 6 .6 6 7 y 8 .6 6 7 ( k 1) (k ) y 2 .5 x 4 .0
(k )
( k 1)
k x(k) y(k)
0 0 0
1 8.667 4.0
2 35.335 -17.668
3 -109.126 -84.358
… … …
§3.1 问题的提出
这种方法称为迭代法, B称为迭代矩阵。
§3.1 问题的提出
构造迭代法的中心问题是建立一个由 本次近似值计算下一次近似值的规则。 用迭代法求解线性方程组时要解决的问 题有: 1) 构造一种迭代格式,由xk计算xk+1 2) 给出初始向量x0 3) 证明向量序列{xk}的收敛性 4) 如果序列收敛,证明是原方程组的解 5) 给出估计误差和迭代停止判据。
§3.1 问题的提出
定义:在n维空间中给定一个向量序 列 x ,x ( x , x , ... x ) ,如果对每一个分 k 量 x i ,当 k 时都有极限xi, 即 lim x x , T 则称向量序列 x 有极限 x ( x1 , x 2 , ... x 2 ) , 或称 x 收敛于x。
§3.1 问题的提出
但他的符号记法不完善。1750年,克莱姆给 出了现在比较通用的线性方程组行列式解法, 即克莱姆法则。1764年,贝祖用行列式建立 了线性方程组的一般理论。但由于当时计算 的效率很低,这一理论几乎只有理论的意义, 实际上只能求出未知数很少的线性代数方程 组的解。只是在20世纪中叶电子计算机问世 并投入应用之后,大型线性代数方程组的数 值求解才成为可能。
(1 )
§3.1 问题的提出
x 0 .4 y 1 .6 2 .1 2 (2) (1 ) y 0 .1 5 x 1 .3 1 .0 6
(2) (1 )
重复以上过程得
k
x(k) y(k)
0
0 0
1
1.6 -1.3
2
2.12 -1.06
3
2.024 -0.982
§3.1 问题的提出
我们在本章将要学习迭代法有: 雅可比(Jacobi)迭代法 高斯-塞德尔(Gauss-Seidel)迭代法 超松弛迭代法(Successive overrelaxation method, SOR)。
§3.1 问题的提出
我们在本章将要学习直接解法有:
高斯消去法(Gauss Elimination),
§3.1 问题的提出
是方程组的精确解,用有限次运算得不到精 确解。迭代法是牛顿最先提出来的,1940年 经司威尔提出的松弛法也是一种迭代法,共 轭梯度法则是另一种迭代法,是弗莱彻等人 于20世纪60年代提出来的。
§3.1 问 8 3 x 20 y 26
§3.2 雅可比迭代
x1 (1 x 2 x 3 ) / 8 ( k 1) (k ) (k ) ( 4 2 x1 x 3 ) / 1 0 x2 x ( k 1 ) ( 3 x ( k ) x ( k ) ) /( 5 ) 1 2 3
k
k k k k T 1 2 n
k
k
i
i
k
k
第五章 线性方程组解法
§3.2 雅可比迭代 (Jacobi iteration)
§3.2 雅可比迭代
• 最简单的迭代方法是从第i个方程解出 未知数xi,i=1,2,…,n
xi 1 a ii ( bi
j 1, j i
n
a ij x j )
4
1.9928 -0.9964
5
1.99856 -1.00108
6
2.000432 -1.000216
…
… …
§3.1 问题的提出
如果把原方程写为
x 6 .6 6 7 y 8 .6 6 7 y 2 .5 x 4 .0
5x 2 y 8 3 x 20 y 26
精确解为
x 2, y 1
* *
将方程写为 取
(0)
x 0 .4 y 1 .6 y 0 .1 5 x 1 .3
x
y
(0)
0
(0)
x 0 .4 y 1 .6 1 .6 (1 ) (0) y 0 .1 5 x 1 .3 1 .3
例3.2
8 x1 x 2 2 x 3 1 2 4 x1 1 0 x 2 x 3 2 1 3x 2 x 5 x 16 1 2 3
构造
x1 0 .1 2 5 x 2 0 .2 5 x 3 1 .5 ( k 1) (k ) (k ) x2 0 .4 x1 0 .1 x 3 2 .1 x ( k 1 ) 0 .6 x ( k ) 0 .4 x ( k ) 3 .2 3 1 2
于是雅可比迭代式为
xi
k 1
1 a ii
( bi
j 1 j i
n
a ij x j ),
k
i 1, 2 , ..., n
§3.2 雅可比迭代
• 显然,所有aii, i=1,2,…,n不为零上式才 有意义,从线性代数知,对于任何系数 方阵非奇异的方程组,通过适当交换方 程的顺序总可以使所有方程的 a ii 0 • 把系数矩阵分解为A=U+D+L,其中U 为由A上三角部分构成的上三角阵,L为 由A下三角元素构成的下三角阵,D为由 A对角线元素构成的对角阵。
§3.1 问题的提出
线性方程组Ax=b,其中A是n维方阵, x是n维未知数向量,b是n维常数向量。
a1 1 a 21 A ... a n1 a1 2 a 22 ... an2 ... ... ... ... a1 n a2n , ... a nn b1 b2 b , ... bn x1 x2 x ... xn