当前位置:文档之家› 超松弛迭代法及其松弛因子的选取

超松弛迭代法及其松弛因子的选取


( 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
较复杂,通常都不用此结论,而直接根据方程组的系数矩阵 A 判断 SOR 迭代收敛性,下面 先给出收敛必要条件.
定理 1
[4]
设 A (aij ) R
nn
, aii 0(i 1, 2,..., n)

则解方程 Ax b 的 SOR 迭代法收敛的
必要条件是 0<ω<2.
5
定理 2 收敛.
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 ) )
的求解一直是我们共同关心的课题.随着计算机技术及数学编程软件的发展,我们有了在计 算机上解线性方程组的条件.最初遇到的方程数和未知数比较少的方程组我们就是利用线性 代数知识直接解出来.直接解法只能适用于经过有限步运算能求得解的方程组.后来遇到的方 程数和未知数都比较多的方程组, 特别是经常会遇到的大型的方程组, 直接解法工作量太大, 花费时间太多,因此迭代法发展了起来.从最初的Jacobi迭代法到Gauss-Seidel迭代法,很多 学者一直在研究找到一种迭代法能更加快速,简单的解决线性方程组.通过不断的实验和计 算,在Gauss-Seidel迭代法基础上,人们发现通过迭代-松弛—再迭代的方法,能更加减少计 算步骤,极大的缩短计算时间,在此基础上,超松弛迭代法被学者们研究出来.通过比较三 种迭代方法, 我们得到超松弛迭代的收敛速度是最快的, 而且超松弛迭代法具有计算公式简 单,编制程序容易等突出优点.在求解大型稀疏线性方程组中超松弛迭代法得到广泛应用.而 SOR迭代方法中松弛因子 的取值直接影响到算法的收敛性及收敛速度,是应用超松弛迭 代法的关键.选择得当,可以加快收敛速度,甚至可以使发散的迭代变成收敛.因此, 超松弛因 子的选取是学者们又一个研究目标.通过一些被验证的定理,我们知道为了保证迭代过程的 收敛,必须要求1< <2,而且松弛因子和迭代矩阵谱半径之间有着密切的联系,现今学者们 已经研究出部分特殊矩阵的最优松弛因子的计算公式.对于一般的矩阵,我们也可以从松弛 因子和谱半径的关系着手研究最优松弛因子的选取, 这就为本篇论文的形成提供了行文思路. 本文给出了求超松弛迭代最优松弛因子的两种方法.
Step 2: 分别取 p2 与 p3 作为松弛因子代入迭代程序, 比较出最少的迭代次数, 如果对 p2 应
的迭代次数少,则选取 ( p1 , p 3 ) 作为收敛区间,如果是对应的 p3 迭代次数少,则选取
( p 2 , p 4 ) 作为收敛区间.
Step 3: 在所选取的收敛区间里循环进行上述的两个步骤, 直到选取出满足精度要求且 p2 ,
(Gb ) min (G )
0b 2
6
图1
2 松弛因子选取方法
方法思想
[8]

(1)给出 的范围,当取不同的 值时,进行迭代,在符合同一个精度要求下依次求出谱半 径的值,比较出最小的谱半径,那么这个最小的谱半径所对应的的 ,即为所求最佳松弛因 子. (2)给出 的范围,当取不同的 值时,进行迭代,看它们在相同精度范围内的迭代次数, 找到迭代次数最少的那一个,其所对应的 即为最佳松弛因子.” 2.1 逐步搜索法 算法: Step 1:读入线性方程组的系数矩阵,常数向量,初值,精度,给出 的取值范围,以及其变 化步长; Step 2:按照如下公式迭代
[9]
,因此,我们可以把黄金分割法应用在求最优
7
松弛因子上,其算法与主要思想是: Step 1: 利 用 优 选 法 思 想 , 在
(1,2)
之 间 选 取 四 个 点 ,
p1 1, p2 p4 0.618( p4 p1 ), p3 p1 0.618( p4 p1 ), p4 2
于是得 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 ) 比
4
1.超松弛迭代基本知识
1.1 超松弛迭代法定义
[1]
超松弛(Successive Over Relaxation) 迭代法,简称 SOR 迭代法,它是在 Gauss-Seidel 法基础 上为提高收敛速度,采用加权平均而得到的新算法.设解方程组的 Gauss-Seidel 法记为
xi
再由 xi
(k )
解法 1:黄金分割法 令 0.05 ,程序结果如下:
8
由上可以看出我们只需作几次 0.618 法就可以找到最优松弛因子,本例中最优松弛因子
1.0901 ,迭代次数为 8 次.
解法 2:逐步搜索法,步长为 0.1, 1 2 程序结果如下:
图3 图 3 中,其横坐标表示松弛因子,纵坐标表示谱半径.
关键词
线性方程组;超松弛迭代;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.
论文使用授权说明
本人完全了解长治学院有关保留、使用学位论文的规定,即:学 校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公 布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存 论文. 签名: 日期:
指导教师声明书
本人声明:该学位论文是本人指导学生完成的研究成果,已经审 阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内 容的一致性和准确性. 指导教师签名:
Key word: Linear equations; Successive Over Relaxation; Matlab program; relaxation factor
3
超松弛迭代法及其松弛因子的选取
09404307 程启远 信息与计算科学 崔艳星 指导教师
引言
在科学计算和工程设计中,经常会遇到求解线性代数方程组的问题,而怎样Байду номын сангаас速
xi ( k 1) G x( k ) f
找出符合精度要求 的迭代次数及谱半径; Step 3:循环迭代,最后找到最优松弛因子 Step 4: 改变 的取值范围,重新设定变化步长,重复 Step2. 2.2 黄金分割法 从定理 4 我们可以看到, 最优松弛因子对应的谱半径最小, 而黄金分割法对于数值求解单调 函数的极小和极大值是非常方便和有效的
2013 届 学 士 学 位 毕 业 论 文
超松弛迭代法及其松弛因子的选取
学 姓 班
号: 名: 级:
09404307 程启远 信息 0901 崔艳星 信息与计算科学 数 学 系
指导教师: 专 系 业: 别:
完成时间:2013 年 5 月
学生诚信承诺书
本人郑重声明:所呈交的论文《超松弛迭代中松弛因子的选取方 法》 是我个人在导师崔艳星指导下进行的研究工作及取得的研究成果. 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写的研究成果, 也不包含为获得长治学院或其他教 育机构的学位或证书所使用过的材料.所有合作者对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意. 签名: 日期:
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
nn
,如果存在排列矩阵 P,使
PAPT
D1 M2
M1 D2
其中, D1 , D2 为对角矩阵,则称 A 是 2-循环的.此外,若当 0 时,矩阵
D 1 L 1 D-1 U
相关主题