求非对称线性方程组的GMRES和共轭残量法_

合集下载

求解线性方程组的加权简单GMRES(m)算法

求解线性方程组的加权简单GMRES(m)算法
的值 是 由例 子决定 的 , 对于所有 的算例 中 , 时间 以
不是 ( 1 )的解 ,则 r o A K ( A, r o o由于
A K ( A , r o ) =K ( A , V 1 ) 且 一 1 ( , 1 , 1 )的维数
为 k一1 ,从而并且A K ( , t o ) = K ( , ) ,
1 0 1期 )
济 南 职 业 学 院 学 报
De c . 2 01 3 No . 6( S e r i a l No 1 0 1
求解线性 方程组 的加权简单 GMRE S ( m) 算法
王 雅
( 常州 市广播 电视 大学 ,江苏 常州 2 1 3 0 0 1 )
摘要 :G MRE S方法是 目前求解线性 方程组使 用较 为广泛的方法。在分析 G MRE S方法的基 础上 , 将加 权技 术和 简单 G MR . E S ( m) 算法结合 , 得到 了加权 简单 G MR ES ( m) 方法 ,并用数值试验验证 了该算法的有效
这些 数值 运算都是在 Ma t l a b上实现 的 。权向量
d 按 照d = √ I ) , / 1 1 " o l : 来 选 择 , 初 始 向 量 是
X o = ( 0 , . . . , 0 ) , 收 敛 准 则 : / 1  ̄ 1 1 : e p i l o n ,e p s i l o n
性。
关键词 :线性方程组 ;加权技 术;简单 G M1 L E S
中 图分 类 号 :O2 4 1 . 7 文 献 标 识 码 :B 文 章 编 号 :1 6 7 3 -4 2 7 0( 2 0 1 3) O 6 一O 0 7 8 —0 2
m i n

VC毕业论文GMRES算法的加速收敛现象分析毕业论文

VC毕业论文GMRES算法的加速收敛现象分析毕业论文

摘要随着科学和工程技术的发展,越来越多的问题需要求解大规模的线性方程组,对这类方程的快速求解已成为数值代数研究的热点之一,特别是具有稀疏结构的大型方程组的求解。

基于Galerkin原理的Arnoldi算法是求解这种线性代数方程组的近似算法,以下称这种方法为广义极小残余算法(GMRES算法)。

GMRES 方法是目前求解大型稀疏非对称线性方程组最为流行的一种迭代方法。

GMRES算法在迭代过程中通常表现出一种加速收敛行为,随着迭代次数的增加,这种加速收敛现象越明显,即残量收敛会随着迭代步数的增加而逐渐得到改善。

在CG方法中,这种加速收敛与Ritz值有密切关系。

通过分析,我们发现GMRES的加速收敛与其斜投影过程中产生的Ritz值对特征值的逼近程度有关系。

在实际应用中,为了减少存储量和计算量,我们通常使用GMRES算法的重新开始版本来求解大型非对称线性方程组。

本文描绘了GMRES和GMRES(m)的加速收敛现象,并通过实验给予解释。

关键字:广义最小残量; Krylov子空间; Ritz值;加速收敛;正交投影方法;非对称线性方程组On The Superlinear Convergence of GMRESAbstractWit h the d evelo p me nt o f science and p ro ject techno lo g y,mo re and mo re q uestio ns need the so lut io n o f b ig linear syste ms. T h is so lut io n is o ne o f the fastest ways fo r researchin g nu mer ica l algeb ra,esp ecia lly fo r the b ig sparse matr ix. The way o f Arno ld i is b ased up o n the p rinc ip le o f Galerk in, wh ich is clo se d to the so lut io n o f the linear nu mer ica l system.Here, we call the so lut io n as Generalized Min imu m Res id ua l (GMRES).GMRES is o ne o f the mo st p op u lar iterat ive met ho d s fo r the so lut io n o f b ig no ns in gu lar no nsy mmetr ic linear syste ms.It us ua lly has a so-called sup er linear co n vergence b ehav io r.The rate o f co nverge nce seems to imp ro ve as the iterat io n p ro ceed s.F o r ano ther say,the rate o f resid ua l var iab le w ill b e imp ro ved as we increase its iterat io n.F o r the co nju gate grad ie nts metho d, th is met ho d has b een related to a d egree o f co nverge nce o f t he Rit z va lue. Thro u g h so me ana lys is,we fo und that fo r GMRES to o, changes in co n vergence b ehav io r seem to be related to the co nverge nce o f R it z va lue. In o ur p ractica l app licat io n,we also usua lly use GMRES(m) fo r red uc in g sto rage and co unter so lv in g b ig linear systems.Th is p ap er stud ies the sup erlinear co nvergence b ehav io r o f GMRES and GMRES(m),and sup p lies exp la in thro u g h exp erimen t.Key wo rd: GMRES; K ry lo v sub sp ace; R it z va lue; sup er linear co nverge nce;o rtho go na lizat io n metho d; no nsy mmetr ic linear system目录摘要 (I)A B S T RA C T ................................................. I I 第一章引言.. (1)第二章G M R E S算法基础知识 (3)§2.1向量范数 (3)§2.2线性方程组最小二乘问题 (4)§2.2.1Gr a m-S ch m id t正交化方法 (4)§2.2.2Gi v en s变换 (4)第三章G M R E S算法理论 (6)§3.1K RYLOV子空间方法的基本理论 (6)§3.2A RNOLDI算法 (7)§3.3G MR E S算法结构 (8)第四章G M R E S算法的加速收敛现象分析 (9)第五章数值示例与算法实现 (19)§5.1数值实验 (19)§5.2算法改进与实现 (22)§5.2.1预处理技术 (22)§5.2.2算法实现 (24)§5.3实验总结 (34)致谢 (35)参考文献 (38)R E P O RT OF LI T E RA T UR E (39)文献报告 (43)第一章 引言关于线性方程组的数值解法一般分为两大类:直接法和迭代法。

广义最小残量法研究与应用近况综述

广义最小残量法研究与应用近况综述

CPU 运行时间更少。 2003 年, Ayachour 对标准 GMRES 算法作了修改, 提出了 GMRES 精度更高, 迭代次数更小,
算法的一个快速实现[10]。它不需要进行 Givens 旋转变换,大大提高了计算工作量,节约了内存空间。在此基础 上,2008 年,伊朗学者 Najafi 和 Zareamoghaddam 也提出了一种新型计算的 GMRES 算法[11]。在这个算法里, 先定义一个新的数量积运算,再用加权 Arnoldi 正交化代替原来的 Arnoldi 过程,最后利用 Ayachourt 的方法来 处理最小平方问题。实验结果表明,这种算法的收敛速度更快,计算精度更高。 对 GMRES 算法而言,当矩阵规模较大时,每一次迭代所需的内存空间和计算量都会增大。典型地,“重 把由此产生的近似解作为初始值以开始下一个 m 次迭代, 启” 可以克服这一困难。 即先执行 m 次 GMRES 迭代, 这个过程循环往复,直到余量范数足够小为止。这个过程即为重启 GMRES 或循环 GMRES,亦即 GMRES(m)。 连续重启一组 m 次迭代的过程看作一个循环,m 就称为重启参数。一般情况下,假设 m 的取值越大,收敛所需 要的迭代次数就越少,因为一个大的 m 值会改善 GMRES 余量多项式,余量范数随之减小。因此,在某种程度 上,一个足够大的 m 能够减少 GMRES(m)加速收敛的障碍。但是,当 m 过大时,GMRES(m)就不能达到减少计 算量和节约内存空间的目的。此外,在一些问题中,一个较小的 m 值反而比较大的 m 值更好[12,13]。这个意想不 到的结果更凸显出选择一个合适 m 的实际难度。基于如何选取合适的 GMRES(m)重启参数,Baker 等于 2009 年 通过大量的实验和理论分析,提出了解决这一问题的一个简单策略[14]。该策略分别指定最小的和最大的重启参 即 mmin ≤ mi ≤ mmax ,mi 代表第 i 次循环的重启参数。 数 mmin 和 mmax , 使得每一循环的重启参数 mi 介于二者之间, 这一策略的主要贡献在于简化了修改重启参数的方法,对一类问题的实验结果也显示出其有效性。 现在, GMRES 算法及其相关算法的研究越来越多, 人们对它的数学要求也越来越高, 特别是在循环 GMRES 算法的收敛行为方面作了更多的探索。2008 年,Vecharynski 和 Langou 证明了在正规矩阵上应用循环 GMRES 算法,其循环–收敛性是亚线性的[15]。这意味着当前 GMRES(m)循环所得余量范数的减少幅度没有前一次循环 余量范数的减少幅度大。2009 年,Vecharynski 和 Langou 二人再次证明,对于循环 GMRES 算法来说,存在任 意 递 减 的 循 环 收 敛 曲 线 [16] 。 他 们 给 定 一 个 n 阶 矩 阵 , 一 个 重 启 参 数 m ( m < n ) , 一 个 递 减 的 正 序 列

求解非对称线性方程组的积多项式预处理GMRES算法

求解非对称线性方程组的积多项式预处理GMRES算法
t t e ir t wo y ls nd her ie v l e o o h f s t c ce a t i eg n a u s f
1 5+ .
20 . 20 .
取 一0 0 , 始迭代 向量 X 一[ ,, ,] . .5初 o 0O 0O
记 A 的 谱 口 ( ) 一 (1 2 3 4 A , , , )一
G E ( )e evl s ・ MR S3 ;i n au : g e
(. ,. ,. ,. )GMR S( ) 法 前 两 次 循 环 0 5 10 1520 . E 3算
所对 应 的双纽线 如 图 1所示.
1 2 理论 基础 .
引理 1。 设方 程组 A E ] x=6的系数 矩阵 A 是 可 对 角化 的且其谱 分解 为
条件数 , 从而加 快残量 的收敛速度. 数值试验表明, 新算 法在残量 收敛方面具有 明显 的优势. 关键词 :多项 式预处理 ; y v子空间;迭代法 ; Krl o GMR S E
中 图分 类 号 : 4 . 02 1 6 文 献 标 识 码 :A
Pr du tp l n m i lpr t e t e o c o y o a e r a m ntGM RES a g r t l o ihm o o u i n f f r s l to o
Ab ta t sr c :W h n t e n m b ro o dto fc ef in arx wa o a g , t e p e r am e tm eh d e h u e fc n i n o o fi e tm ti st o lr e h r te t n t o i c
第3 8卷 第 5期
21 年 1 02 O月

求解线性方程组的总体(拟)极小向后扰动方法

求解线性方程组的总体(拟)极小向后扰动方法

第一章绪论在科学研究和工程应用中,经常需要求解大型稀疏线性方程组血=b(1.1)其中A是n×n的实矩阵,x,6∈R”.目前,求解线性方程组的数值方法可分成两大类,一类是直接法,即通过有限次的运算求出问题的精确解,例如Gauss消去法、列主元及全主元消去法、直接三角分解法等.但是由于直接法计算过程中存储量很大,当需要求解大型稀疏线性方程组时,直接法就不适用了.另一类求解线性方程组的数值方法是迭代法,即通过选取初值,然后用同样的步骤重复计算,求得近似解.在迭代法中,Krylov子空间方法[31是求解大型线性方程组的一类重要方法,国际上有关Krylov子空间方法的研究工作非常活跃.求解对称正定线性方程组的最有效方法是共轭梯度(cO)法【l】及其预处理技术.对称Lanczos方法【13】【161伫9】是解对称不定线性方程组的有效方法之一.在理论上,对称Lanczos方法产生的向量组是正交向量组,但是,在实际计算中,由于舍入误差的影响,Lanczos向量易失去正交性.为了减少存储量和运算量,人们采用重新开始的Lanczos方法,即循环Lanczos迭代法【11I.另外Paigc和Saunders基于对称LRI'ICZOS方法[2]提出了求解对称不定方程组的SYⅣnVJLQ方法【14】和MINI陋S方法【l”,但是对病态线性方程组SYMMLQ方法和MINRES方法常常表现出不稳定性.求解非对称线性方程组的Krylov子空间方法有许多特殊的方法,如Amoldi口]方法、广义极小残量法(GMRES)、双边Lanczos方法、不完全正交化方法等.Y.Saadl31指出,Amoldi【21过程实际上是建立Krylov子空间k,(A,to)=span(to,Aro,...,A”1to)一组标准正交基的过程.将Amoldi回过程用于求解线性方程组可得完全正交化方法(FOM)rss],不完全正交化方法(IOM)H】【3】【loJ是完全正交化方法的一个变形,在理论上它是一种斜投影方法.1991年Freund和Nachfigal基于非对称Lanczos方法提出了求解非对称线性方程组的拟极小残量法(QMR方法)[8】.在用非对称Lanczos方法解非对称线性方程组时,也会发生算法中断或数值不稳定.Krylov子空间方法通常用残量范数作为判断算法终止的条件.若近似解是精确的,残量范数是小的,但是反过来不一定.为克服残量范数作为终止条件的不足,Kasenally[”】在用GMRES方法15删解非对称线性方程组时,考虑求满足扰动方程(A一△。

matlab超松弛迭代法求方程组

matlab超松弛迭代法求方程组

一、介绍MATLAB(Matrix Laboratory)是一种用于数值计算和数据可视化的专业软件。

在MATLAB中,超松弛迭代法是解决线性方程组的一种有效算法。

本文将介绍MATLAB中超松弛迭代法的基本原理和实现方法,并给出一个具体的例子进行演示。

二、超松弛迭代法的基本原理超松弛迭代法是一种逐步迭代的算法,用于求解线性方程组。

它的基本原理是通过不断迭代更新方程组的解,直到达到满足精度要求的解。

超松弛迭代法的公式如下:X(k+1) = (1-w)X(k) + w*(D-L)⁻¹*(b+U*X(k))其中,X(k)代表第k次迭代的解向量,X(k+1)代表第k+1次迭代的解向量,D、L和U分别代表方程组的对角线元素、下三角元素和上三角元素构成的矩阵,b代表方程组的右端向量,w代表松弛因子。

超松弛迭代法的关键在于选择合适的松弛因子w,一般情况下,可以通过试验选取一个合适的值。

在MATLAB中,可以使用sor函数来实现超松弛迭代法。

三、MATLAB中超松弛迭代法的实现方法在MATLAB中,可以通过调用sor函数来实现超松弛迭代法。

sor 函数的语法格式如下:[X,flag,relres,iter,resvec] = sor(A,b,w,tol,maxit)其中,A代表线性方程组的系数矩阵,b代表右端向量,w代表松弛因子,tol代表迭代的精度要求,maxit代表最大迭代次数,X代表迭代求解得到的解向量,flag代表迭代的结果标志,relres代表相对残差的大小,iter代表迭代次数,resvec代表迭代过程中的残差向量。

以下是一个使用sor函数求解线性方程组的示例:A = [4 -1 0 -1 0 0; -1 4 -1 0 -1 0; 0 -1 4 0 0 -1; -1 0 0 4 -1 0; 0 -1 0 -1 4 -1; 0 0 -1 0 -1 4];b = [1; 0; -1; 0; 1; 0];w = 1.25;tol = 1e-6;maxit = 100;[X,flag,relres,iter,resvec] = sor(A,b,w,tol,maxit);通过调用sor函数,可以得到方程组的解向量X,迭代的结果标志flag,相对残余resrel和迭代次数iter。

利用共轭梯度法求解线性方程组

利用共轭梯度法求解线性方程组

利用共轭梯度法求解线性方程组翟莹1012205052在自然科学和工程技术中很多问题的解决常常归结为解线性方程组,而这些方程组的系数矩阵大致可分为两种:低阶稠密矩阵和大型稀疏矩阵。

而求解方程组的方法通常为直接法和迭代法。

直接法用于较低阶方程组的求解,效率较高;迭代法更适用于高阶方程组的求解,常用的经典迭代法有高斯-赛德尔迭代法和雅各比迭代法,但收敛效率较低;共轭梯度法(CG)以较高的收敛速度而经常被采用。

从理论上讲,一个n阶方程组最多迭代n 步就可求出精确解。

1 直接法直接法就是经过有限步算术运算,无需迭代可直接求得方程组精确解的方法。

但实际计算中由于舍入误差的存在和影响,这种方法也只能得到线性方程组的近似解,该方法是求解低阶稠密矩阵方程组的有效方法。

如Cramer法则,Gauss消元法及其变形(LU分解法、Cholesky 分解法、QR分解法)等。

Matlab中,用矩阵除法“/”或“\”直接求解线性方程组(见附录一),它是一个内部包含着许许多多的自适应算法,对超定方程用最小二乘法求解;对欠定方程因为它的解不唯一,Matlab给出所有解中范数最小的一个特解;对于三对角阵方程组,采用追赶法求解。

2 迭代法迭代法就是用某种极限过程去逐步逼近线性方程组精确解的方法。

该方法具有对计算机的存贮单元需求少,程序设计简单、原始系数矩阵在计算过程中不变等优点,是求解大型稀疏矩阵方程组的重要方法。

迭代法不是用有限步运算求精确解,而是通过迭代产生近似解逼近精确解。

如Jacobi迭代、Gauss-Seidel迭代、SOR迭代法等。

在科学研究和大型工程设计中提出的求解问题,经离散后,常常归结为求解形如Ax = b 的大型线性方程组,此时系数矩阵A和b是通过测量或其它方法得到的,但是在多数情况下方程可能是病态的,即A的条件数非常大。

此时,我们仍然用Matlab中的常规算法,得到的解则可能不是真解。

通常情况下,对系数矩阵A和方程的右端b作微小的扰动,再用上述方法求解,扰动后方程组的解与原方程组的解相差甚远。

《E-变换GMRES(m)算法的研究与应用》

《E-变换GMRES(m)算法的研究与应用》

《E-变换GMRES(m)算法的研究与应用》篇一一、引言在科学与工程计算领域,线性方程组的求解是一项重要任务。

GMRES(Generalized Minimum Residual)算法作为一种高效的迭代求解方法,在处理大规模稀疏线性方程组时表现出色。

然而,随着问题规模的增大和复杂性的提高,传统的GMRES算法在某些情况下可能无法满足求解精度和效率的要求。

为此,本文提出了一种E-变换GMRES(m)算法,旨在提高算法的求解性能。

本文将首先介绍E-变换GMRES(m)算法的基本原理,然后分析其性能,最后探讨该算法在实际中的应用。

二、E-变换GMRES(m)算法的基本原理E-变换GMRES(m)算法是在传统GMRES算法的基础上,引入E-变换技术,以提高算法的求解性能。

E-变换是一种矩阵变换技术,通过对方程组的系数矩阵进行适当的变换,可以改善矩阵的性质,从而提高算法的求解效率。

在E-变换GMRES(m)算法中,首先对原问题系数矩阵进行E-变换,得到一个新的矩阵。

然后,利用GMRES算法对新矩阵进行迭代求解。

在迭代过程中,通过控制迭代次数m,可以在保证求解精度的同时,降低算法的复杂度。

此外,E-变换GMRES(m)算法还具有较好的稳定性,能够在处理病态问题时保持较高的求解精度。

三、E-变换GMRES(m)算法的性能分析E-变换GMRES(m)算法在性能上具有以下优点:1. 求解精度高:通过引入E-变换技术,可以改善原问题系数矩阵的性质,从而提高算法的求解精度。

2. 求解效率高:通过控制迭代次数m,可以在保证求解精度的同时,降低算法的复杂度,提高求解效率。

3. 稳定性好:该算法在处理病态问题时表现出较好的稳定性,能够保持较高的求解精度。

与传统的GMRES算法相比,E-变换GMRES(m)算法在处理大规模稀疏线性方程组时具有更高的求解性能。

在实际应用中,该算法可以有效地解决各类工程和科学计算问题。

四、E-变换GMRES(m)算法的应用E-变换GMRES(m)算法在以下领域具有广泛的应用:1. 科学计算:在物理、化学、生物等领域中,经常需要求解大规模稀疏线性方程组。

《E-变换GMRES(m)算法的研究与应用》范文

《E-变换GMRES(m)算法的研究与应用》范文

《E-变换GMRES(m)算法的研究与应用》篇一一、引言在科学与工程计算领域,线性方程组的求解是一项重要任务。

GMRES(Generalized Minimum Residual)算法是一种迭代法,常用于解决大型稀疏线性方程组。

然而,传统的GMRES算法在处理某些问题时可能存在收敛速度慢或计算量大的问题。

为此,本文提出了一种E-变换GMRES(m)算法,通过引入E-变换,有效提高了算法的收敛速度和计算效率。

本文首先介绍了E-变换GMRES(m)算法的基本原理,然后探讨了其在实际应用中的效果。

二、E-变换GMRES(m)算法的基本原理1. GMRES算法简介GMRES算法是一种基于Arnoldi过程的迭代法,通过构造Krylov子空间来逼近线性方程组的解。

其基本思想是利用前m个Arnoldi向量构成子空间,然后在该子空间中求解最小二乘问题,以达到逼近原问题解的目的。

2. E-变换的定义E-变换是一种矩阵变换方法,通过引入一个矩阵E对原矩阵进行变换,以改善矩阵的性质,从而加速迭代算法的收敛速度。

3. E-变换GMRES(m)算法的实现E-变换GMRES(m)算法在传统GMRES算法的基础上,引入E-变换。

具体实现步骤如下:(1)选择一个合适的矩阵E;(2)利用E对原矩阵进行E-变换;(3)在变换后的矩阵上应用GMRES算法。

三、E-变换GMRES(m)算法的数学性质和收敛性分析1. 数学性质E-变换GMRES(m)算法具有较好的数学性质,如稳定性、有界性和收敛性等。

这些性质保证了算法在处理大型线性方程组时的可靠性和有效性。

2. 收敛性分析E-变换GMRES(m)算法的收敛速度取决于原矩阵的性质和所选的矩阵E。

当原矩阵具有良好的性质时,引入E-变换可以显著提高算法的收敛速度。

此外,通过选择合适的m值,可以在保证计算精度的同时,进一步提高算法的计算效率。

四、E-变换GMRES(m)算法的应用1. 科学计算领域的应用E-变换GMRES(m)算法在科学计算领域具有广泛的应用,如流体力学、电磁场计算、量子力学等。

求非对称线性方程组的GMRES和共轭残量法_

求非对称线性方程组的GMRES和共轭残量法_
Ap j +1 = Ar
( j +1)
+ ∑ βij Api .)每一步算法的计算量约比 GMRES
i =0
j
多 50%. 如同从 FOM 到 IOM 一样, 限制行 7 中求和的项数, 则可 得截断的 GCR,称为 ORTHOMIN( ORTHOMIN(k).这只须将算法 10 中的 行 6 和行 7 替换成
(3-18)
证明 近似解和相应的残向量可写成:
23
吉林大学硕士学位论文
m−1 i =0
x ( m) = x ( 0) + ∑ αi pi ,
r
(m)
=r
(0)
+ ∑α i Api .
i =0
m −1
为使||r(m)||2 取极小,必有
∂ ( m) r ∂α j
2 2
= 0 ,即必有正交关系
(r(m),Apj)=0,
α m −1 = (r ( 0) , Ap m −1 ) /( Ap m −1 , Ap m −1 ),
注意由 r(m)的表示式,有 r(m-1)=r(0)- ∑ α j Ap j .这样,再由正交
j =0
m− 2
性,有
(r ( m −1) , Ap m −1 ) = (r ( 0 ) , Ap m −1 ) − ∑ α j ( Ap j , Ap m −1 ) = (r ( 0 ) , Ap m −1 ).
α j =(r ,Apj)/(Apj,Apj)
(j)
x(j+1)=x(j)+ α j pj r(j+1)=r(j)- α j Apj
β ij =-(Ar
(j+1)
,Apj)/(Apj,Apj),i=0,1,…j

《解线性方程组的VRP-GMRES(m)迭代法》范文

《解线性方程组的VRP-GMRES(m)迭代法》范文

《解线性方程组的VRP-GMRES(m)迭代法》篇一一、引言随着科技的发展,线性方程组的求解在众多领域中扮演着重要的角色。

传统的解法如高斯消元法、LU分解法等在处理大规模、复杂线性方程组时,往往面临计算量大、效率低下等问题。

因此,寻求一种高效、稳定的迭代算法成为研究的热点。

本文将介绍一种针对解线性方程组的VRP-GMRES(m)迭代法,旨在提高求解的效率和精度。

二、VRP-GMRES(m)迭代法概述VRP-GMRES(m)是一种基于Krylov子空间的迭代算法,用于求解大型稀疏线性方程组。

该算法结合了GMRES算法的优点和共轭梯度法的特性,能够在一定程度上减少计算量,提高求解速度。

此外,通过引入残差向量和Gram-Schmidt正交化过程,使得算法在处理实际问题时具有较好的稳定性和收敛性。

三、VRP-GMRES(m)迭代法原理1. 算法基本思想:VRP-GMRES(m)算法通过构建一系列Krylov子空间来逼近原问题的解。

在每个子空间中,利用GMRES算法的残差向量和Gram-Schmidt正交化过程来更新解向量。

2. 算法步骤:首先,设定初始解向量和初始残差向量;然后,通过Gram-Schmidt正交化过程构建Krylov子空间;接着,利用GMRES算法计算下一步的搜索方向;最后,根据搜索方向和残差向量更新解向量。

重复上述步骤,直到满足收敛条件或达到最大迭代次数。

四、VRP-GMRES(m)迭代法的应用VRP-GMRES(m)迭代法在众多领域有着广泛的应用,如计算物理、计算力学、信号处理等。

通过将该算法应用于实际问题,可以有效地求解大规模、复杂线性方程组,提高求解的效率和精度。

五、结论VRP-GMRES(m)迭代法是一种高效的解线性方程组的迭代算法,其结合了GMRES算法和共轭梯度法的优点,具有较好的稳定性和收敛性。

通过构建Krylov子空间,该算法能够有效地求解大规模、复杂线性方程组,提高求解的效率和精度。

关于非局部扩散模型的一种快速预处理算法

关于非局部扩散模型的一种快速预处理算法

第49卷第4期2021年4月同济大学学报(自然科学版)JOURNAL OF TONGJI UNIVERSITY(NATURAL SCIENCE)Vol.49No.4Apr.2021论文拓展介绍关于非局部扩散模型的一种快速预处理算法冉育红1,李存吉2,殷俊锋3(1.西北大学数学学院,陕西西安710127;2.西北大学数学学院,陕西西安710127;3.同济大学数学学院,上海200092)摘要:变系数非局部扩散模型可以被一种快速配置法进行有效的数值离散。

离散后得到一个系数矩阵具有Toeplitz结构且稠密的线性方程组。

由于系数矩阵是非对称的,该线性方程组可以用广义极小残量法(GMRES)方法求解。

为了提高GMRES方法的收敛率,构造了系数矩阵的Toeplitz及循环预处理子,并提出了预处理GMRES方法求解该线性方程组。

数值算例也表明了该预处理算法的有效性。

关键词:非局部扩散模型;快速配置法;Toeplitz矩阵;预处理;GMRES方法中图分类号:O241.6文献标志码:A A Fast Preconditioned Algorithm for Nonlocal Diffusion ModelRAN Yuhong1,LI Cunji2,YIN Junfeng3(1.School of Mathematics,Northwest University,Xi’an710127,China;2.School of Mathematics,Northwest University,Xi’an 710127,China;3.School of Mathematics,Tongji University,Shanghai200092,China)Abstract:A fast collocation scheme can be used to discretize the variable-coefficient nonlocal diffusion model effectively.The coefficient matrix of the resulting linear system is unsymmetrical,dense and Toeplitz-like.The generalized minimum residual(GMRES)method can be employed to solve the discretized linear systems.In order to improve the rate of convergence of the GMRES method,the Toeplitz preconditioner and circulant preconditioner are constructed for the coefficient matrix,and the preconditioned GMRES methods are proposed for solving the discretized linear systems.Numerical examples are presented to illustrate the effectiveness of the preconditioned methods.Key words:nonlocal diffusion model;collocation method;Toeplitz matrix;preconditioning;generalized minimum residual method对于自然界那些用整数阶扩散方程不太好描述的现象,如反常扩散和多孔介质流等[1-3],除了可以用分数阶扩散方程建模以外,非局部扩散模型也是一种可供选择的建模方法。

《解线性方程组的VRP-GMRES(m)迭代法》范文

《解线性方程组的VRP-GMRES(m)迭代法》范文

《解线性方程组的VRP-GMRES(m)迭代法》篇一一、引言在科学与工程计算中,线性方程组的求解是一个常见的任务。

传统的直接解法如高斯消元法在处理大规模或稀疏的线性方程组时效率较低。

因此,迭代法成为了处理这类问题的有效手段。

其中,GMRES(Generalized Minimum Residual)算法以其出色的稳定性和收敛性在众多迭代法中脱颖而出。

本文将介绍一种改进的GMRES算法——VRP-GMRES(m),它具有更高的计算效率和更好的求解性能。

二、VRP-GMRES(m)算法原理VRP-GMRES(m)是一种基于Krylov子空间的迭代算法,其核心思想是通过最小化残差来逐步寻找方程组的解。

该算法在传统的GMRES算法基础上进行了优化,通过引入向量重排(Vector Reordering Procedure)和截断(Truncation)技术,提高了算法的收敛速度和计算效率。

三、算法步骤1. 初始化:设定初始向量x0,以及容差ε和最大迭代次数m。

计算初始残差r=b-Ax0,并生成初始Krylov子空间。

2. 迭代过程:在每个迭代步骤中,计算Krylov子空间的基向量,并利用GMRES算法求解最小二乘问题。

如果解的范数小于容差ε或达到最大迭代次数m,则停止迭代。

3. 向量重排:在迭代过程中,对生成的基向量进行重排,以减小后续计算的成本。

这一步有助于提高算法的效率和稳定性。

4. 截断技术:根据需要,对生成的Krylov子空间进行截断,以减少存储需求和计算量。

这一步有助于控制算法的复杂度,提高求解速度。

5. 更新解:根据最小二乘问题的解,更新当前解x。

6. 检查收敛性:计算当前解与上一次解的差值,如果小于容差ε,则认为算法收敛,停止迭代。

否则,返回步骤2继续迭代。

四、算法优点及应用领域VRP-GMRES(m)算法具有以下优点:1. 收敛性好:该算法基于Krylov子空间,具有很好的收敛性,能够快速找到方程组的解。

GMRES算法的收敛分析与实现

GMRES算法的收敛分析与实现

h [k] [k +1]
三 总结
本文举了几个具有明显特征的数值例子, 根据例子表明, GMRES 算 法 的 收 敛 效 果 取 决 于 方 程 组 系 数 矩 阵 的 实 际 分 布 情 况, 如谱的分布和 Ritz 值与 A 的特征 值 的 逼 近 程 度 等 。 在 实 际 应用中, 为了减少存 储 量 和 计 算 量 , 通 常 使 用 GMRES 算 法 的 重 新开始版本, 在重新开始版本中, 对重新开始迭代步长的选择也 是至关重要的, 合适的 m 能够加速 GMRES 方法的收敛, 过小则 可能导致迭代的收敛失败, 过大则导致计算量的成倍增加及收 敛速度减缓。另外, 对于预处理子的选择也对 GMRES 算法收敛 有重要的影响。
double tmp=cs[k]*g[k]+sn[k]*g[k+1]; g[k+1]=- sn[k]*g[k]+ cs[k]*g[k+1]; g[k]=tmp; if(fabs(g[k+1])<=stp){ k++; break; } }//end for for ( i=k- 1;i>=0;i- - ){ for(int j=i+1;j<k;j++) g[i]- =h[j][i]*g[j]; g[i]/=h[i][i]; } for (i=0;i<k;i++) x +=g[i]*(*v[i]); r =preconding(b- (*this)*x, pcn); beta=r.twonorm(); if(beta<=stp) { conv=true; break; } }//end while epR= epr=(b- (*this)*x).twonorm(); for (i=0; i<=m;i++)delete v[i]; delete[] v; for(i=0;i<m;i++)delete[] h[i]; delete[] h; if(conv)return 0; else return 1; } //gmres(m)结束

ATHAS能量方程的数值解法研究

ATHAS能量方程的数值解法研究

ATHAS能量方程的数值解法研究ATHAS是近几年新开发的具有自主知识产权的核反应堆堆芯热工水力分析程序。

在ATHAS中能量方程可转化为一种大型稀疏线性方程组,其求解采用直接的Gauss消去法,非常耗时,成为限制ATHAS提升运行速度的重要因素。

因此,关于ATHAS能量方程数值解法的研究对ATHAS程序的改进及后续采用ATHAS进行全堆芯pin-by-pin模拟有着重要意义。

本文采用Fortran90语言对含有非零存储的Gauss-Seidel迭代法和Jacobian-Free Newton-Krylov(JFNK)方法进行了编程,并将其应用于ATHAS 能量方程的求解,然后分别采用Gauss消去法、Gauss-Seidel迭代法和JFNK法对不同阶数的能量方程进行求解,并对结果进行分析比较。

结果表明Gauss-Seidel迭代法和JFNK法求解ATHAS能量方程具有可行性,而且系数矩阵阶数较高时,采用Gauss-Seidel迭代法和JFNK法进行求解能够显著的提高能量方程的求解效率,减少计算时间。

关键词:ATHAS,大型稀疏线性方程组,JFNK方法第一章引言1.1 研究背景子通道分析程序是反应堆热工水力分析中一种十分重要的计算机模拟程序。

子通道分析程序采用子通道模型,即将反应堆堆芯组件划分成大量的平行子通道进行计算机模拟。

由于各子通道之间存在着横流相互作用,使得各子通道之间存在着质量、动量和能量的交换,如果将质量、动量和能量的守恒方程应用在所划分的子通道上进行求解,便可以得到反应堆堆芯组件的流量、压力和焓的轴向和横向分布[1][2]。

ATHAS程序[3]是西安交通大学核安全与运行研究室近几年开发的一种具有自主知识产权的反应堆热工水力分析程序,它可以模拟反应堆堆芯组件子通道流量和相分布。

其子通道定义为燃料棒之间冷却剂的流通区,边界为燃料棒表面以及连接相邻棒中心的虚拟平面,如图1.1所示,其中阴影部分代表燃料棒截面。

《解线性方程组的VRP-GMRES(m)迭代法》

《解线性方程组的VRP-GMRES(m)迭代法》

《解线性方程组的VRP-GMRES(m)迭代法》篇一一、引言随着科技的发展,线性方程组的求解在众多领域中扮演着重要的角色。

其中,VRP-GMRES(m)迭代法作为一种高效的求解方法,被广泛应用于各种实际问题中。

本文将详细介绍VRP-GMRES(m)迭代法的基本原理、步骤以及在实际问题中的应用。

二、VRP-GMRES(m)迭代法的基本原理VRP-GMRES(m)迭代法是一种基于Krylov子空间的迭代方法,用于求解线性方程组Ax=b。

该方法通过构造一系列的Krylov子空间,逐步逼近方程的解。

与传统的迭代方法相比,VRP-GMRES(m)具有更高的稳定性和收敛速度。

三、VRP-GMRES(m)迭代法的步骤1. 初始化:设定初始解向量x0和容忍误差ε。

2. 构造Krylov子空间:利用矩阵A和初始解向量x0,构造初始的Krylov子空间。

3. 正交化过程:对Krylov子空间中的向量进行正交化处理,得到一组正交基向量。

4. 最小二乘问题求解:利用GMRES算法求解最小二乘问题,得到下一步迭代的搜索方向。

5. 迭代过程:根据搜索方向和矩阵A进行迭代计算,逐步逼近方程的解。

6. 判断收敛性:检查当前解与上一步解的差值是否小于设定的容忍误差ε,若满足则停止迭代,否则继续进行迭代。

7. 输出结果:输出最终解向量x以及迭代过程中的其他信息。

四、VRP-GMRES(m)迭代法的应用VRP-GMRES(m)迭代法在众多领域中有着广泛的应用。

例如,在计算机科学中,可以用于求解大规模稀疏线性方程组;在物理学中,可以用于模拟物理系统的运动和行为;在工程领域中,可以用于优化设计和分析等问题。

此外,VRP-GMRES(m)迭代法还可以与其他优化算法相结合,进一步提高求解效率和精度。

五、结论VRP-GMRES(m)迭代法是一种高效的求解线性方程组的方法。

通过构造Krylov子空间和利用GMRES算法求解最小二乘问题,该方法能够逐步逼近方程的解,并具有较高的稳定性和收敛速度。

基于加权GMRES的多项式预处理广义极小残差法

基于加权GMRES的多项式预处理广义极小残差法

基于加权GMRES的多项式预处理广义极小残差法关朋燕;李春光;景何仿【摘要】Essai对求解非对称线性方程组的广义极小残差法(GMRES)进行改进,提出加权GMRES方法(WGMRES)。

该方法具有良好的收敛效果,但计算量较大。

本文利用加权GMRES本身构造出一种有效的多项式预处理并与加权GMRES结合,构造了一种新算法。

该算法能够显著地减少加权GMRES迭代次数,并能减少运算量和储存量。

数值算例表明,相对于加权GMRES方法来说,新算法减少了运算时间和迭代次数。

%Essai presented a weighted GMRES method (GMRES) by improving GMRES method to solve nonsymmetric linear systems. The method has good convergence, but the computation cost is increasing. In this paper, we propose an efficient polynomial precondi-tioner based on WGMRES, and obtain a new algorithm. Numerical experiments indicate that the new algorithm can considerably reduce the iterative steps and computation cost.【期刊名称】《工程数学学报》【年(卷),期】2014(000)005【总页数】10页(P697-706)【关键词】多项式预处理;加权Arnoldi算法;加权GMRES算法;迭代法;平行板突扩管【作者】关朋燕;李春光;景何仿【作者单位】北方民族大学信息与计算科学学院,银川 750021;北方民族大学数值计算与工程应用研究所,银川 750021;北方民族大学数值计算与工程应用研究所,银川 750021【正文语种】中文1 引言许多科学计算问题经过离散可归结为解线性方程组其中A∈CN×N非奇异,b是列向量.解这类方程组的一类方法就是基于最小残差法其中qn−1(x)为多项式且degqn−1≤n−1,使得‖rn‖最小,或rn=b−Axn表示残差,Kn(r0,A)=span{r0,Ar0,···,An−1r0}是Krylov子空间.令pn=b−zqn−1(z),此为残差多项式,于是rn=pn(A)r0.在这类方法中应用最广的是GMRES方法[1],GMRES是在Krylov子空间上进行迭代,该算法的收敛性由残差模的单调性得出,而且具有良好的数值稳定性,但具有较长的迭代公式,因此每步迭代的计算量与储存量都线性增长,同时难以有效的并行运算.Saad采用循环GMRES法,但GMRES(m)[2]会失去超线性收敛,产生停滞.1998年,Essai对GMRES方法进行改进,提出加权GMRES方法[3],其优点在于具有良好的收敛性,但也增加了计算量.Nachtigal等[4-11]讨论了GMRES和其他方法相结合策略.文献[12–17]是将加权思想与其他方法相结合文章.本文采用多项式预处理加权GMRES(m)法及多项式预处理加权GMRES(m)法.其主要问题是找到有效的低阶多项式pn(x),迭代解应用到pn(A)Ax=pn(A)b中,这会产生一个Krylov子空间它是Krylov子空间K(n+1)(m−1)+1(A;r0)的子空间.本文直接利用加权GMRES 方法本身来构造预处理多项式,多项式的预处理和混合迭代[4]极为相似,其思想就是尽可能减少迭代次数.随着迭代次数的减少,存储量和运算量也会相应减少.2 加权Arnoldi算法先来定义D-内积及D-范数.如果D=diag{d1,d2,···,dn}(di>0,i=1,2,···,n)是一个对角矩阵,u,v∈Rn是两个向量,那么它们的D-内积就定义为显然,当d1=d2= ···=dn=1时,(u,v)D=(u,v).如果(u,v)D=0,就称u和v关于D相互正交,也可以表示为u⊥Dv.同样可以定义D-范数求解方程组(1)的加权Arnoldi算法[2]:步骤1 构造v1,进行第2至第6步,对于j=1,2,···,k;步骤2 计算w=Avj;步骤3 计算hij=(w,vi)D,w=w−hijvi,i=1,2,···,j;步骤4 计算hj+1,j=‖w‖D;步骤5 如果hj+1,j=0,则停止;步骤6 计算vj+1=w/hj+1,j;步骤7 结束.3 预处理多项式的构造加权GMRES方法的主要思想是Krylov子空间Kn(r0,A)找到一个向量zn,使其D-范数极小化zn∈Kn(r0,A)可写作zn=Vnyn,其中Vn=(v1,v2,···,vn),使得是加权ArnoldiD 正交过程形成的Krylov子空间的一组向量.所以有其中现在利用残差多项式来构造出多项式预处理因子,Kn表示N×n矩阵,其列为Krylov子空间Kn=span{r0,Ar0,···,An−1r0}的基向量.由加权GMRES方法,有以下迭代公式因为Vn的列和Kn的列张成的是同一个空间,我们有其中Cn为上三角矩阵由(4)式表示出向量vj和vj+1,并代入(3)式,比较两边关于Ajv0的系数,可得到再用加权GMRES方法解Hessenberg矩阵最小二乘问题,得xn=x0+Vny.因为Vny=KnCny,可得出向量Cny为多项式qn−1(z)的系数pn(z)=1−zqn−1(z)即为残差多项式.可得令k=n−1,由此式可得qk(A)≈ A−1,可参见文献[17],所以可用qk(A)作预处理矩阵.4 多项式预处理加权GMRES(m)算法根据上面的分析,给出以下多项式加权GMRES(m)算法,简记为PWGMRES(m)算法:1) 输入:近似解精度ε,Krylov子空间的维数m,所需计算的预处理多项式qn−1(z)的次数k,初始值x0;2) 计算3) 选择向量d,使得4) 利用加权Arnoldi过程计算Hk,Vk;5) 对于j=1,2,···,k;6) 根据(6)式计算cj+1;7) 计算8) 结束j循环;9) 由QR分解计算最小二乘问题得到的解为ym,并令xk=x0+Vky;10) 计算预处理多项式qk(z);11) 对qk(A)Ax=qk(A)b用加权GMRES(m)算法;12) 结束.5 数值算例为了说明PWGMRES(m)算法的有效性,给出数值算例.关于加权di的选择,Essai在文献[3]中WGMRES算法里建议取其中r0的任意分量不能为零.选取向量b使得方程Ax=b的精确解为其相关残差需要说明的是本文所有算法的程序是用Matlab在4CPU,3.20GHz,内存为1.00GB的或残差电脑上编写的,且每个算例中r0的任意分量不为零.算例1 本例中矩阵nos2−sm取自矩阵市场(/MatrixMarket/),条件数为6.3E+09,非零元素个数为2547,阶数为957×957,ε=10−15,η≤ 10−8.其k=10,m=30预处理后的矩阵与没作预处理的矩阵的残差与迭代次数和残差与迭代时间的关系,如图1所示.图1: 算例1中PWGMRES(30)和WGMRES(30)比较算例2 本例中矩阵orsirr−1−sm取自矩阵市场(/MatrixMar ket/),条件数为1E+02,非零元素个数为6858,阶数为1030×1030,ε=10−8,η≤10−7.其k=2,m=40预处理后的矩阵与没作预处理的矩阵的残差与迭代次数和残差与迭代时间的关系,如图2所示.图2: 算例2中PWGMRES(40)和WGMRES(40)比较算例3 本例中矩阵orsreg−1−sm取自矩阵市场(/MatrixMar ket/),条件数为1E+02,非零元素个数为14133,阶数为2205×2205,ε=10−6,η≤10−6.其k=1,m=30预处理后的矩阵与没作预处理的矩阵的残差与迭代次数和残差与迭代时间的关系,如图3所示.图3: 算例3中PWGMRES(30)和WGMRES(30)比较算例4 本例中矩阵为Grcar,阶数为1000×1000,ε=10−12,η≤ 10−8.其k=10,m=30预处理后的矩阵与没作预处理的矩阵的残差与迭代次数和残差与迭代时间的关系,如图4所示.图4: 算例4中PWGMRES(30)和WGMRES(30)比较算例5 平行板组成的突扩管道,如图5所示,流动为层流,进口为均匀流速,根据文献[18]中提出的圆图扩管内流动雷诺数的定义Re=ud/v,导出相应的进口速度uin=Re∗v/d,管道壁面为光滑的无滑移边界,密度保持恒定不变,为ρ=1.0kg/m3,进口宽度为2d=2,整个管道的宽为2D=4,其上下管道都足够长(这里取30),出口边界采用充分发展条件,试确定管道中流体的速度分布与压力分布.图5: 算例5二维图扩管示意图边界条件:对称线上入口处:u,v为给定值;固体边界线上:u=v=0;雷诺数:Re=200.将求解区域进行剖分,网格数为15×10,方程离散后的系数矩阵呈五对角状,非零元素的个数为1500,ε=10−6,η≤10−6.其k=5,m=30.解得算例5预处理后的矩阵和没作预处理的矩阵,其最后一个压力残差与迭代次数和残差与迭代时间的关系,如图6所示.图6: 算例5中PWGMRES(30)和WGMRES(30)比较为了说明计算的效率,表1给出上述五个算例所用的CPU时间及迭代的次数;表2给出了算例5所用外迭代次数与CPU时间.表1:所用的CPU时间及迭代次数算例算法迭代次数CPU(s)算例1 PWGMRES(m)340 16.7739 WGMRES(m)3121 77.4142算例2 PWGMRES(m)776 62.7500 WGMRES(m)2490 175.6090算例3 PWGMRES(m)142 71.8600 WGMRES(m)274 86.6250算例4PWGMRES(m)406 61.4060 SIMPLEC 1041 69.5150 0.3590一个压力矩阵算例5中最后PWGMRES(m)18 WGMRES(m)112 1.5150表2: 平行板突扩管网格数为15×10时算法的CPU比较算法1外迭代次数CPU(s)PWGMRES(m)94 191.3807 WGMRES(m)94 223.7347从以上五个数值算例的迭代次数和迭代时间分别与残差的关系图及CPU时间表比较可看出,PWGMRES(m)算法收敛所需要的迭代次数以及CPU时间均比WGMRES(m)算法的少,从而说明了所构造的算法的有效性.大量的例子表明:通常解大型稀疏对称矩阵或块三对角矩阵时,预处理多项式qk(z)次数k的选择可以随意选择,但当取k为5–15时收敛效果相对较好;解其它大型稀疏类型的矩阵时k值不宜过大,这样会增加计算预处理子的时间与运算量,有可能还会导致矩阵不收敛.6 结论本文我们利用多项式预处理技术对WGMRES(m)进行改进,得到PWGMRES(m)较之WGMRES(m)有较好的收敛速度,同时也大大减少了运算量与运算时间,但如何选取预处理多项式qk(z)次数k与权值d使PWGMRES(m)收敛速度达到最优,目前我们建议的值只是经验值.参考文献:[1]Saad Y,Schultz M H.GMRES:a generalized minimal residual algorithm for solving nonsymmetric linear systems[J].Computational and Applied Mathematics,1986,7(3):856-869[2]蔡大用,白峰杉.高等数值分析[M].北京:清华大学出版社,1997 Cai D Y,Bai F S.Advanced Numerical Analysis[M].Beijing:Tsinghua University Press,1997 [3]Essai A.Weighted FOM and GMRES for solving nonsymmtric linear systems[J].Numerical Algorithms,1998,89(3-4):277-292[4]Nachtigal N M,et al.A hybrid GMRES algorithm for nonsymmetric linear systems[J].Society for Industrial and Applied Mathematics Journal on Matrix Analysis and Applications,1992,13(3):765-825[5]Saad Y.Least squares polynomials in the complex plane and their ues for solving any nonlinear systems[J].Society for Industrial and Applied Mathematics Journal on Numerical Analysis,1987,24(1):155-169[6]An H B,Bai Z Z.NGLM:a globally convergent Newton-GMRESmethod[J].Mathematica Numerica Sinica,2005,27(2):151-174[7]An H B,Bai Z Z.On efficient variants and global convergence of the Newton-GMRES method[J].Journal of Numerical Methods and Computer Applications,2005,26(4):291-300[8]徐钟济.蒙特卡罗方法[M].上海:上海科学技术出版社,1985 Xu Z J.Monte Carlo Method[M].Shanghai:Shanghai Science and Technology Press,1985 [9]全忠,向淑晃.基于GMRES的多项式预处理广义极小残差法[J].计算数学,2006,28(4):365-376 Quan Z,Xiang S H.A GMRES method based on polynomial preconditioning algorithm[J].Mathematica Numerica Sinica,2006,28(4):365-376[10]Niu Q,et al.Accelerate weighted GMRES by augmenting error approximations[J].International Journal of ComputerMathematics,2010,87(9):2101-2112[11]杨圣炜,卢琳璋.一种加权的Simpler GMRES算法[J].厦门大学学报(自然科学版),2008,47(4):484-488 Yang S W,Lu L Z.A weighted SimpleGMRES[J].Journal of Xiamen University(Natural Science),2008,47(4):484-488[12]Cao Z H,Yu X Y.A note on weighted FOM and GMRES for solving nonsymmetric linear systems[J].Applied Mathematics and Computation,2004,151(3):719-727[13]Jing Y F,Huang T Z.Restarted weighted full orthogonalization method for shifted linear systems[J].Computers and Mathematics with Applications,2009,57(9):1583-1591[14]Najaf iH S,Zareamoghaddam H.A new computational GMRESmethod[J].Applied Mathematics and Computation,2008,199(2):527-534 [15]Najaf iH S,Ghazvini H.Weighted restarting method in the weighted Arnoldi algorithm for computing the eigenvalues of a nonsymmetric matrix[J].Applied Mathematics and Computation,2006,175(2):1276-1287[16]Meng B.A weighted GMRES method augmented with eigenvectors[J].Far East Journal of Mathematical Sciences,2009,34(2):165-176[17]Salyor P E,Smolarski D C.Implementation of an adaptive algorithm for Richardson’s method[J].Linear Algebra and its Applications,1991,154-156:615-646[18]罗奇,等.计算流体力学[M].北京:科学出版社,1983 Roach,etputational Fluid Mechanics[M].Beijing:Science Press,1983。

解线性方程组galerkin方法收敛性质的分析

解线性方程组galerkin方法收敛性质的分析

南京航空航天大学硕士学位论文第一章 绪 论1.1 研究背景线性方程组的数值解法是数值代数的三大问题之一,其研究具有重要的理论意义和广泛的应用价值。

当方程组的阶数较小时,可以考虑使用直接方法来求解[1, 2],如Gauss 消去法和三角分解法。

从理论上来说应用直接方法可求出方程组的精确解。

但在实际求解过程中,由于计算舍入误差的存在,最终所得到的仍然是方程组的近似解。

特别是当方程组的阶数较大时,舍入误差的传播和扩散有可能导致计算解的严重失真。

此时,可以考虑使用迭代方法来求解[3, 4],其计算过程一般比较简单,对于大型稀疏方程组还可节省存储量,因此特别适用。

线性方程组的迭代解法按照所提出的年代可分为古典迭代法和现代迭代法。

古典迭代法包括Jacobi 法、Gauss-Seidel 法和SOR 法等,其中以SOR 法为代表[2]。

数值实验表明,在方程组系数矩阵的性态比较好时,应用SOR 法一般能够迅速收敛,给出符合精度要求的数值解。

但对于较难解决的方程组问题,由于算法中的最优松弛因子无法估计,SOR 法的使用效果往往不理想。

解线性方程组的现代迭代法绝大部分都可以归类到Krylov 子空间方法[5-7]。

对Krylov 子空间方法的研究可以追溯到50年代初Lanczos [8, 9],Arnoldi [10],Hestenes 和Stiefel [11]的工作。

但在其后20年,人们一直认为这类方法是数值不稳定的,很少用于实际计算。

直到70年代出Paige 在著名的博士论文[12]中重新研究了Lanczos 方法以及80年代出Saad [13]重新研究了Arnoldi 方法,才使人们重新认识了这两个方法。

之后,人们又做了大量的理论分析和数值实验,充分认识到Krylov 子空间方法是求解大型方程组问题的一类最有效方法。

考虑线性方程组b Ax =,其中n n R A ×∈,n R b ∈。

设n R x ∈0是初始估计解,00Ax b r −=是初始残量。

求解非对称线性方程组的积多项式预处理GMRES算法

求解非对称线性方程组的积多项式预处理GMRES算法

求解非对称线性方程组的积多项式预处理GMRES算法孙春晓;徐乐顺【摘要】When the number of condition of coefficient matrix was too large, the pretreatment method was usually to be used to solve the nonsymmetrical linear equation set. Based on the complementary convergence behavior of GMRES algorithm, an effective product polynomial pretreatment factor was constructed. Under certain condition, the coefficient matrix was pretreated with the product polynomial and the number of spectral condition could be reduced remarkably so that the convergence of the residual would be significantly accelerated. Numerical experiment showed that the new algorithm would have a distinct advantage in connection with residual convergence.%当系数矩阵的条件数过大时,求解非对称线性方程组通常采用预处理方法.根据GMRES算法的补足收敛特性,构造一种有效的积多项式预处理因子.在一定条件下,应用积多项式对系数矩阵进行预处理,可以显著降低谱条件数,从而加快残量的收敛速度.数值试验表明,新算法在残量收敛方面具有明显的优势.【期刊名称】《兰州理工大学学报》【年(卷),期】2012(038)005【总页数】4页(P145-148)【关键词】多项式预处理;Krylov子空间;迭代法;GMRES【作者】孙春晓;徐乐顺【作者单位】西北农林科技大学理学院,陕西杨凌712100;西北农林科技大学理学院,陕西杨凌712100【正文语种】中文【中图分类】O241.6很多科学计算问题经过离散可归结为求解线性方程组式中:A∈RN×N是非奇异的.求解线性方程组(1)的很多迭代法可归结于多项式法,即满足:这里xn(n≥0)为第n步迭代解,rn=bn-Axn为其对应的迭代残量.等价地式中:pn(z)=1-zqn-1(z)称为残量多项式.或有其中,κn(r0,A)=span是对应于r0,A 的krylov子空间.容易证明,此时残量rn满足:式中:‖·‖为RN上的Euclidean范数.由此定义的迭代方法称为最小残量法,如GMRES算法.由最小残量所产生的残量按范数‖·‖是非增的,且当n=N 时得到方程组(1)的精确解,因此此类方法总是收敛的.但在实际应用中,由于矩阵的阶数可达106以上,执行整体的最小残量法所需的存储量和计算量会随着迭代步数的增加而变得不可接受[1].Saad采用循环 GMRES(m)算法,但此算法会失去超线性收敛性,产生停滞[2].N.M.Nachtigal等提出混合GMRES算法,但此算法的收敛性从理论上得不到保证,而且在实际应用中,其Richardson迭代可能收敛得很慢甚至发散[3].为了提高Krylov子空间的稳定性,实际求解时通常采用预处理方法[4-5].本文采用多项式预处理 GMRES(m)方法,找到有效的低阶多项式s(x),这样迭代解被应用到s(A)Ax=s(A)b中.这种预处理方法在解决某些大型稀疏线性方程组的系数矩阵A的条件数过大时是很有效的.本文利用GMRES(m)算法的补足收敛性质构造预处理多项式.由此给出一种新的算法,称为积多项式预处理GMRES算法(PP-GMRES).1 预处理多项式的构造1.1 GMRES(m)算法的补足收敛性质定义GMRES(m)算法第n次循环对应的双纽线为其中设λ是A 的任一特征值,若λ包含在Ln中,则|pn,m(λ)|<τn.|pn,m (λ)|取值越小,迭代残量在这一特征向量方向有明显下降.下面用数值实验来说明GMRES(m)算法的补足收敛性质.例1 考虑线性方程组Ax=b.其中取δ=0.05,初始迭代向量x0=[0,0,0,0]T.记 A 的谱σ (A ) = (λ1,λ2,λ3,λ4)=(0.5,1.0,1.5,2.0).GMRES (3)算法前两次循环所对应的双纽线如图1所示.重新开始GMRES(m)算法的不同迭代循环所产生的迭代残量偏向于不同的特征向量,使其所形成的残量多项式在收敛方向上相互补足,从而残量的收敛达到一种平衡.以相继迭代循环的残量多项式作乘积,形成积多项式,这样能够保证残量在所有特征向量方向上都有均匀、明显的下降.取前两次循环的残量多项式作乘积π2,3(z)=p1,3(z)p2,3(z),做双纽线图1 例1GMRES(3)前两次循环的双纽线;特征值:·Fig.1 Lemniscates of the first two cycles and their eigenvalues of GMRES(3)for example 1;eigenvalues:·图2中所有特征值包含在双纽线L中,π2,3(z)在矩阵A的谱上得到了整体的下降.图2 GMRES(3)前两次循环对应的积多项式的双纽线;特征值:·Fig.2 Lemniscates of a product polynomial corresponding to the first two cycles and their eigenvalues of GMRES(3);eigenvalues:·1.2 理论基础引理1[6]设方程组Ax=b的系数矩阵A是可对角化的且其谱分解为其中,λi(i=1,2,…,N)都是正实数.不妨设λ1≤λ2≤…≤λN,则给定初始估计x0,执行m 步GMRES算法,有其中是A的条件数.下面利用积多项式构造多项式预处理因子s(z),使得κ(s(A)A)尽可能小.由于式中由此可得定理1 设方程组(1)的系数矩阵A可对角化,其特征值λ1,λ2,…,λN 均为实的.若则有证明由于s(A)A=IN-πn,m(A),A 可对角化,则s(A)A也可对角化.λi 为A 的任一特征值,故1-πn,m(λi)为s(A)A的任一特征值.又且πn,m(λi)均为实的.由矩阵条件数的定义[7]可知,矩阵的任何一种条件数都大于等于1.根据定理1,若τ足够小,预处理矩阵s(A)A的条件数接近于1.这样,对预处理方程组s(A)A=s(A)b执行GMRES算法将会得到较好的收敛效果.而适当的选取积多项式πn,m(z),可使其在矩阵A 的谱上整体下降[8-9],即τ≪1.2 积多项式预处理GMRES算法根据上面的分析,给出积多项式预处理GMRES算法(PP-GMRES).选取初始迭代向量x0.1)执行GMRES(k)算法n次,得到残量多项式序列;构造积多项式2)由πn,k(z)=1-s(z)z 得到预处理多项式s(z).3)对s(A)Ax=s(A)b执行循环GMRES(m)算法,直至收敛.对新算法的几点说明:1)数k和参数m 可以不一致,这样使得算法很灵活.2)GMRES(m)循环在第m 步得到的近似解xm,是在预处理krylov子空间上使得残量范数最小[10].3)根据残量多项式的互补性理论[6]及数值试验,通常取n=2,即如果实际执行效果不太好,可适当放大n.4)计算单次残量多项式的系数有两种方法.一是文献[5]的迭代公式,二是通过求解特征矩阵的特征多项式来求解残量多项式[11-12].3 数值实验本节给出三个数值试验比较PP-GMRES(m),PolyGMRES(m)[13],HGMRES(m),GMRES(m)四种算法的执行结果.为了使数值结果便于重复,这里具体给出各参数的值,而不考虑算法的执行细节.选取右端项b=(1,1,…,1)T,初始估计x0=(0,0,…,0)T.例2 同文献[5]中例1,选取A为三对角Toeplitz矩阵由图3可以看出,四种算法都使迭代残量下降.比较起来,PP-GMRES(5)算法下降最快,说明积多项式π2,5(z)在矩阵A 的谱上的值比较小,使得预处理后的系数矩阵的条件数较小,从而加速了收敛.例3 选取A为Grear矩阵图3 例2收敛曲线:工作量和残量对数的范数Fig.3 Convergence curve of log.residual norm vs work for example 2由于该矩阵伪谱的凸包中含零点,在这种情况chebyshev类型或其他一些混合算法将导致失败.由图4可以看出GMRES算法失败,但PP-GMRES算法有很满意的收敛效果.图4 例3收敛曲线:工作量和残量对数的范数Fig.4 Convergence curve of log.residual norm vs work for example 3参考文献:[1]JOUBERT W D,VARGA R S.A hybrid Arnoldi-Faber iterative method for nonsymmetric linear systems [J].Part Ⅰ:Theory,PartⅡ:Parallel implementation.Internat J Comput Math,1992,44(1):243-267.[2]SAAD Y,SCHULTZ M H.GMRES:A generalized minimal residual algorithm for solving nonsymmetric linear systems[J].SIAM J Sci Stat Comput,1986,7:856-869.[3]YIN Junfeng.A class of preconditions based on matrix splitting for nonsymmetric linear systems [J].Applied Mathematics and Computation,2010,16:1694-706.[4]YIN Junfeng,KEN Hayam.Preconditioned GMRES method with incomplete orthogonalization method for large sparse least-squares problems[J].Journal of Computational and Applied Mathematics,2009,26:177-186.[5]NACHTIGAL N M,REICHEL L,TREFETHEN L N.A hybrid GMRES algorithm for nonsymmetric linear systems[J].SIAm J Matrix Anal Appl,1992,13(3):796-825.[6]MORGAN R B.A restarted GMRES method augmented with eigenvectors[J].SIAM J Matrix Anal Appl,1995,16:1112-1135.[7]李庆杨,王能超,易大义.数值分析[M].武汉:华中科技出版社,2002:206-207.[8]ZHONG B J,MORGAN R plementary cycles of restarted GMRES[J].Numer Linear Algebra Appl,2008,15:559-571.[9]ZHONG B J.A product hybrid GMRES algorithm for nonsymmetric linear systems [J].Journal of Computational Mathematics,2005,23:82-92.[10]SAAD Y.A flexible inner-outer preconditioned GMRES algorithm [J].SIAM J Sci Comput,1993,14:461-469.[11]钟宝江.一种灵活的混合GMRES算法[J].高等学校计算数学学报,2001,3:261-272.[12]NAJAFI H S,MOGHADDEN H Z.A new computational GMRES method[J].Applied Mathematics and Computation,2008,199:527-534.[13]全忠,项淑晃.基于GMRES的多项式预处理广义极小残差法[J].计算数学,2006,4:365-376.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

pute βij=-(Ar(j+1),Apj)/(Apj,Apj), i=j-k+1,…,j, 7a. pj+1=r(j+1)+∑ji=j-k+1βijpi.
25
吉林大学硕士学位论文
第四章 数值算例
在工程问题的数值模拟中, 无论边界元法还是有限元法 都将形成离散的方程矩阵, 二者不同点在于矩阵系数及性质 上。 有限元法形成的刚度系数矩阵是稀疏矩阵, 边界元积分 方程离散后,一般得到的影响系数矩阵是非对称的稠密矩 阵。 传统边界元法求解线性方程组, 一般采用高斯消去法或 是由高斯消去法派生的相关方法, 解方程所需的计算次数与 方程秩的三次方成比例。 因此当方程组规模变大时, 利用高 斯消去法为基础的直接法变得十分不利, 因为随着方程组规 模的扩大, 直接法所需的求解时间迅速增大, 因此对此类问 题的求解,迭代方法成为了有力的工具。而 GMRES(m)算法 是在 Arnodi 算法的基础上提出的解决具稠密系数矩阵的线 性方程组的有力的数值解法, 其计算次数明显减少, 因此使 用 GMRES(m)算法求解大型边界元法系数方程组是十分有效 的。下面以弹性问题模型为例,来简单介绍 GMRES(m)算法 在求解边界元问题中的应用。 边界元法计算弹性问题时, 首先需要确定物体的边界曲
j=0,…,m-1.
由 r(m)的表示式和 Api 的正交性,即得
α j = (r ( 0) , Ap j ) / ( Ap j , Ap j ) ,
(3-17)得证.假设 x(m-1)已知,现来确定 x(m).由(3-17),
x ( m ) = x ( m −1) + α m−1 p m −1 ,
(3-18)
证明 近似解和相应的残向量可写成:
23
吉林大学硕士学位论文
m−1 i =0
x ( m) = x ( 0) + ∑ αi pi ,
r
(m)
=r
(0)
+ ∑α i Api .
i =0
m −1
为使||r(m)||2 取极小,必有
∂ ( m) r ∂α j
2 2
= 0 ,即必有正交关系
(r(m),Apj)=0,
Ap j +1 = Ar
( j +1)
+ ∑ βij Api .)每一步算法的计算量约比 GMRES
i =0
j
多 50%. 如同从 FOM 到 IOM 一样, 限制行 7 中求和的项数, 则可 得截断的 GCR,称为 ORTHOMIN( ORTHOMIN(k).这只须将算法 10 中的 行 6 和行 7 替换成
21
吉林大学硕士学位论文
6. 7.
β j :=(r
(j+1)
,r(j+1))/(r(j),r(j))
p(j+1):=r(j+1)+ β j p(j)
8. EndDo
这说明 CG 法可视为 FOM 用于对称正定方程组的特例. 同样地, 如果将 GMRES 用于 A 是 Hermite 矩阵 ( AH = A T = A ) 的特殊情况,则可得共轭残量法(CR).此时,残量是 A-正 交的,即共轭的,而 Api(i=0,1,…)是正交的.对照 CG 算法 8 的结构,并注意到上述正交性条件,可得共轭残量法.由 于残量是共轭的,算法由此得名. 算法 9 共轭残量法(CR)
pute r(0):=b-Ax(0),p0:=r(0) 2.For j=0,1,…until convergence Do: 3. 4. 5. 6. 7. 8.
α j : = (r ( j ) , Ar ( j ) ) / ( Ap j , Ap j )
x(j+1):=x(j)+ α j p j
26
吉林大学硕士学位论文
GMRES(FGMRES)[4]. 为保证预处理方程组系数矩阵的正定性, 一般应要求预 处理矩阵 M 是(对称)正定的.
§3.4 共轭残量法和 ORTHOMIN 算法
将 Arnoldi 方法用于实对称阵 A,则由算法 1 得到的 Hessenberg 阵 Hm 是对称的三对角矩阵.事实上,由(1-4)
α j =(r ,Apj)/(Apj,Apj)
(j)
x(j+1)=x(j)+ α j pj r(j+1)=r(j)- α j Apj
β ij =-(Ar
(j+1)
,Apj)/(Apj,Apj),i=0,1,…j
j
pj+1=r(j+1)+ ∑i =0 βij pi
8.EndDo
(实际计算时,可在行 5 下计算 Ar(j+1),在行 7 下计算
r ( j +1) : = r ( j ) − α j Ap j
β j : = (r ( j +1) , Ar ( j +1) ) / (r ( j ) , Ar ( j ) )
p j +1: = r ( j +1) + β j p j
Compute Apj+1=Ar(j+1)+ β j Apj
22
(Api,Apj)=0,i≠j,
则在仿射子空间 x(0)+κm(A,r(0))上极小化残量范数的近似解 x为
x =x
(m)
(0)
(r ( 0 ) , Api ) ⋅ pi . +∑ i = 0 ( Ap i , Ap i )
m −1
(3-17)
进一步,x(m)可由 x(m-1)算出:
x ( m) = x ( m−1) + (r ( m−1) , Apm−1 ) p . ( Apm−1 , Apm−1 ) m−1
j =0 m− 2
从而, α m−1 = (r ( m−1) , Apm−1 ) / ( Apm−1 , Apm−1 ) . # 于是有下面的 算法 10 广义共轭残量法(GCR)
24
吉林大学硕士学位论文
pute r(0)=b-Ax(0),set po=r(0). 2.For j=0,1,2,…, until covergence Do: 3. 4. 5. 6. 7.
α m −1 = (r ( 0) , Ap m −1 ) /( Ap m −1 , Ap m −1 ),
注意由 r(m)的表示式,有 r(m-1)=r(0)- ∑ α j Ap j .这样,再由正交
j =0
m− 2பைடு நூலகம்
性,有
(r ( m −1) , Ap m −1 ) = (r ( 0 ) , Ap m −1 ) − ∑ α j ( Ap j , Ap m −1 ) = (r ( 0 ) , Ap m −1 ).
吉林大学硕士学位论文
9. EndDo
CR 法的计算量比 CG 法大,而两者的收敛性是类似的, 故一般讲 CG 法优于 CR 法. Krylov 子空间基底的选取,是各种方法的基础.GMRES 用的是正交基;在 CG 算法中,pj 是 A-正交的,即共轭的; 在 CR 算法中,Api 是正交的,即 pi 是 ATA-正交的.下面的结 果可将 CR 算法推广到非对称情形(此时,Hm 不再是三对角 的). 命题 9 令 p0,p1,…,pm-1 是 Krylov 子空间κm(A,r(0)) 的一组基,它们是 ATA-正交的,即
Hm=VmTAVm,知 Hm 对称,从而它必是三对角的.此时,由相应的
FOM 算法可导出 DIOM(2).可以证明,算法产生的残向量序 列 r(m)=b-Ax(m)是互为正交的,即(r(i),r(j))=0,i≠j;而辅 助向量 pi 是 A-正交的,即(Api,pj)=0,i≠j.由此两性质, 可导出共轭梯度法(CG)--算法 8. 算法 8 共轭梯度法(CG)
1. Compute
r(0):=b-Ax(0),
p(0)=r(0)
2 .For j=0,1,…, until convergence Do: 3. 4. 5.
α j :=(r ,r )/(Ap ,p )
(j) (j) (j) (j)
x(j+1):=x(j)+ α j p(j) r(j+1):=r(j)- α j Ap(j)
相关文档
最新文档