超松弛迭代法及其松弛因子的选取
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( k 1)
i 1 n 1 (bi aij x j ( k 1) aij x j ( k ) ), i 1, 2,, n aii j 1 j i 1 (1)
与 xi
( k 1)
加权平均得
( k 1)
xi ( k 1) (1 ) xi ( k ) x
xi ( k ) ( xi
( k 1)
xi ( k ) ), i 1, 2, , n
这里ω>0 称为松弛参数,将(1)代入则得
i 1 n (bi aij x j ( k 1) aij x j ( k ) ), i 1, 2,, n aii j 1 j i 1 (2)
2013 届 学 士 学 位 毕 业 论 文
超松弛迭代法及其松弛因子的选取
学 姓 班
号: 名: 级:
09404307 程启远 信息 0901 崔艳星 信息与计算科学 数 学 系
指导教师: 专 系 业: 别:
完成时间:2013 年 5 月
学生诚信承诺书
本人郑重声明:所呈交的论文《超松弛迭代中松弛因子的选取方 法》 是我个人在导师崔艳星指导下进行的研究工作及取得的研究成果. 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写的研究成果, 也不包含为获得长治学院或其他教 育机构的学位或证书所使用过的材料.所有合作者对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意. 签名: 日期:
于是得 SOR 迭代的矩阵表示
[3]
xi ( k 1) G x( k ) f
其中
(3)
G ( D L)1[(1 ) D U ] f ( D L) 1 b
1.2 收敛性判别条件 根据迭代法收敛性定理
[2]
,SOR 法收敛的充分必要条件为 (G ) 1 ,但要计算 (G ) 比
nn
,如果存在排列矩阵 P,使
PAPT
D1 M2
M1 D2
其中, D1 , D2 为对角矩阵,则称 A 是 2-循环的.此外,若当 0 时,矩阵
D 1 L 1 D-1 U
的特征值都和 无关,则称 A 是相容次序矩阵. 定理 4
[7]
设AR
nn
,A 有非零的对角元,且是 2-循环和相容次序的矩阵.又设
(Gb ) min (G )
0b 2
6
图1
2 松弛因子选取方法
方法思想
[8]
:
(1)给出 的范围,当取不同的 值时,进行迭代,在符合同一个精度要求下依次求出谱半 径的值,比较出最小的谱半径,那么这个最小的谱半径所对应的的 ,即为所求最佳松弛因 子. (2)给出 的范围,当取不同的 值时,进行迭代,看它们在相同精度范围内的迭代次数, 找到迭代次数最少的那一个,其所对应的 即为最佳松弛因子.” 2.1 逐步搜索法 算法: Step 1:读入线性方程组的系数矩阵,常数向量,初值,精度,给出 的取值范围,以及其变 化步长; Step 2:按照如下公式迭代
p3 所对应的迭代次数差不超过某个数 时选 p3 为最优松弛因子.
3 数值算例
例 1: 矩阵
3 1 0 1 1 3 0 0 A 0 0 3 1 1 0 1 3 b (1, 2, 2, 1) T ,精度为 x k x k 1 1.0*106
较复杂,通常都不用此结论,而直接根据方程组的系数矩阵 A 判断 SOR 迭代收敛性,下面 先给出收敛必要条件.
定理 1
[4]
设 A (aij ) R
nn
, aii 0(i 1, 2,..., n)
,
则解方程 Ax b 的 SOR 迭代法收敛的
必要条件是 0<ω<2.
5
定理 2 收敛.
4
1.超松弛迭代基本知识
1.1 超松弛迭代法定义
[1]
超松弛(Successive Over Relaxation) 迭代法,简称 SOR 迭代法,它是在 Gauss-Seidel 法基础 上为提高收敛速度,采用加权平均而得到的新算法.设解方程组的 Gauss-Seidel 法记为
xi
再由 xi
(k )
的求解一直是我们共同关心的课题.随着计算机技术及数学编程软件的发展,我们有了在计 算机上解线性方程组的条件.最初遇到的方程数和未知数比较少的方程组我们就是利用线性 代数知识直接解出来.直接解法只能适用于经过有限步运算能求得解的方程组.后来遇到的方 程数和未知数都比较多的方程组, 特别是经常会遇到的大型的方程组, 直接解法工作量太大, 花费时间太多,因此迭代法发展了起来.从最初的Jacobi迭代法到Gauss-Seidel迭代法,很多 学者一直在研究找到一种迭代法能更加快速,简单的解决线性方程组.通过不断的实验和计 算,在Gauss-Seidel迭代法基础上,人们发现通过迭代-松弛—再迭代的方法,能更加减少计 算步骤,极大的缩短计算时间,在此基础上,超松弛迭代法被学者们研究出来.通过比较三 种迭代方法, 我们得到超松弛迭代的收敛速度是最快的, 而且超松弛迭代法具有计算公式简 单,编制程序容易等突出优点.在求解大型稀疏线性方程组中超松弛迭代法得到广泛应用.而 SOR迭代方法中松弛因子 的取值直接影响到算法的收敛性及收敛速度,是应用超松弛迭 代法的关键.选择得当,可以加快收敛速度,甚至可以使发散的迭代变成收敛.因此, 超松弛因 子的选取是学者们又一个研究目标.通过一些被验证的定理,我们知道为了保证迭代过程的 收敛,必须要求1< <2,而且松弛因子和迭代矩阵谱半径之间有着密切的联系,现今学者们 已经研究出部分特殊矩阵的最优松弛因子的计算公式.对于一般的矩阵,我们也可以从松弛 因子和谱半径的关系着手研究最优松弛因子的选取, 这就为本篇论文的形成提供了行文思路. 本文给出了求超松弛迭代最优松弛因子的两种方法.
论文使用授权说明
本人完全了解长治学院有关保留、使用学位论文的规定,即:学 校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公 布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存 论文. 签名: 日期:
指导教师声明书
本人声明:该学位论文是本人指导学生完成的研究成果,已经审 阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内 容的一致性和准确性. 指导教师签名:
1
时间
摘
要
本文首先给出了超松弛迭代法解线性方程组的基本概念, 引进了关于超松弛迭代法收敛 性判别的一些定理.再基于超松弛迭代法收敛性快慢与松弛因子的选择密切相关,本文给出 了能准确快速地确定最优松弛因子的方法逐步搜索法和黄金分割法,并且写出了其 Matlab 程序(附录) ,最后通过实例验证了方法的准确性,快速性.
Key word: Linear equations; Successive Over Relaxation; Matlab program; relaxation factor
3
超松弛迭代法及其松弛因子的选取
09404307 程启远 信息与计算科学 崔艳星 指导教师
引言
在科学计算和工程设计中,经常会遇到求解线性代数方程组的问题,而怎样快速
Step 2: 分别取 p2 与 p3 作为松弛因子代入迭代程序, 比较出最少的迭代次数, 如果对 p2 应
的迭代次பைடு நூலகம்少,则选取 ( p1 , p 3 ) 作为收敛区间,如果是对应的 p3 迭代次数少,则选取
( p 2 , p 4 ) 作为收敛区间.
Step 3: 在所选取的收敛区间里循环进行上述的两个步骤, 直到选取出满足精度要求且 p2 ,
解法 1:黄金分割法 令 0.05 ,程序结果如下:
8
由上可以看出我们只需作几次 0.618 法就可以找到最优松弛因子,本例中最优松弛因子
1.0901 ,迭代次数为 8 次.
解法 2:逐步搜索法,步长为 0.1, 1 2 程序结果如下:
图3 图 3 中,其横坐标表示松弛因子,纵坐标表示谱半径.
9
也可以求出最优松弛因子为 1.1,迭代次数为 8.然后我们改变松弛因子区间,令 1 1.1 以步长为 0.01 来继续求更精确的松弛因子.程序结果如下:
xi ( k 1) (1 ) xi ( k )
称为 SOR 迭代法,ω>0 称为松弛因子,当ω=1 时(2)即为 Gauss-Seidel 法,将(2)写成矩阵 形式,则得
Dx ( k 1) (1 )Dx ( k ) (b Lx ( k 1) Ux ( k ) )
[5]
若 A R
n n
对称正定, 且 0<ω<2, 则解 Ax=b 的 SOR 迭代法(3)对 x R 迭代
n
对于 SOR 迭代法,松弛因子的选择对收敛速度影响较大,关于最优松弛因子 杂,且已有不少理论结果.下面只给出一种简单且便于使用的结论. 1.3 收敛速度的估计
研究较为复
SOR 迭代法的迭代矩阵 G 与 有关,当选取不同的 时,其迭代速度也有所不同.因此, 需要找到最优的松弛因子 b ,使对应 b 的 SOR 方法收敛最快. 定理 3 [7] 设 A R
xi ( k 1) G x( k ) f
找出符合精度要求 的迭代次数及谱半径; Step 3:循环迭代,最后找到最优松弛因子 Step 4: 改变 的取值范围,重新设定变化步长,重复 Step2. 2.2 黄金分割法 从定理 4 我们可以看到, 最优松弛因子对应的谱半径最小, 而黄金分割法对于数值求解单调 函数的极小和极大值是非常方便和有效的
关键词
线性方程组;超松弛迭代;Matlab 程序;松弛因子
2
Abstract
This paper firstly introduces the basic concept of the super relaxation iteration method for solving linear equations, introduced on some criterion theorem Overrelaxation iterative convergence, gives a simple Matlab program super relaxation iteration (Appendix 1). Then Overrelaxation iterative convergence speed and relaxation factor is selected based on the close relation is proposed in this paper, the rapid and accurate method of determining the optimal relaxation factor of the direct search method and the golden section method, and write the Matlab program (Appendix 2), finally the method is accurate, rapid.
BJ D 1 ( L U) 是方程组 Ax b 的 Jacobi 法迭代的迭代矩阵,且 B2 的所有特征值均在
(0,1)上,若 ( BJ ) 1 记 ( BJ ) 则 SOR 法的最优松弛因子 b 为 , ,
b
2 1 1 2
且
[ 2 2 4( 1)]2 , 0 b (G ) 4 1, b 2
[9]
,因此,我们可以把黄金分割法应用在求最优
7
松弛因子上,其算法与主要思想是: Step 1: 利 用 优 选 法 思 想 , 在
(1,2)
之 间 选 取 四 个 点 ,
p1 1, p2 p4 0.618( p4 p1 ), p3 p1 0.618( p4 p1 ), p4 2