求解三对角线性方程组两类并行算法的特点

 一、概述
  三对角线性方程组的求解是许多科学和工程计算中最重要也是最基本的问题之一。在核物理、流体力学、油藏工程、石油地震数据处理及数值天气预报等许多领域的大规模科学工程和数值处理中都会遇到三对角系统的求解问题。很多三对角线性方程组的算法可以直接推广到求解块三对角及带状线性方程组。由于在理论和实际应用上的重要性,近20年来三对角方程组的并行算法研究十分活跃。
  大规模科学计算需要高性能的并行计算机。随着软硬件技术的发展,高性能的并行计算机日新月异。现今,smp可构成每秒几十亿次运算的系统,pvp和cow可构成每秒几百亿次运算的系统,而mpp和dsm可构成每秒万亿次运算或更高的系统。
  高性能并行计算机只是给大型科学计算提供了计算工具。如何发挥并行计算机的潜在性能和对三对角系统进行有效求解,其关键在于抓住并行计算的特点进行并行算法的研究和程序的设计与实现。另外,对处理机个数较多的并行计算系统,在设计并行算法时必须解决算法的可扩展性,并对可扩展性进行研究和分析。
  二、问题的提出
  设三对角线性方程组为
ax=y (1)
式中:a∈rn×n非奇异,αij=0, 。x=(x1,x2,…xn)t y=(y1,y2,…yn)t。
  此系统在许多算法中被提出,因此研究其高性能并行算法是很有理论和实际意义的。
  三、并行求解三对角系统的直接解法
  关于三对角线性方程组的直接求解已经有大量并行算法,其中wang的分裂法是最早针对实际硬件环境,基于分治策略提出的并行算法。它不仅通信结构简单,容易推广到一般带状线性方程组的并行求解,而且为相继出现的许多其它并行算法提供了可行的局部分解策略。
  近20年来求解三对角方程组的并行算法都是基于分治策略,即通过将三对角方程组分解成p个小规模问题,求解这p个小规模问题,再将这些解结合起来得到原三对角方程组的解。一般求解三对角方程组的分治方法的计算过程可分为3个阶段:一是消去,每台处理机对子系统消元;二是求解缩减系统(需要通信);三是回代,将缩减系统的解回代到每个子系统,求出最终结果。具体可分为以下几类:
  (一)递推耦合算法(recursive doubling)
  由stone于1975年提出,算法巧妙地把lu分解方法的时序性很强的递推计算转化为递推倍增并行计算。d.j.evans对此方法做了大量研究。p.dubois和g.rodrigue的研究表明stone算法是不稳定的。
  (二)循环约化方法(cyclic reduction)
  循环约化方法由hockey和g.golub在1965年提出,其基本思想是每次迭代将偶数编号方程中的奇变量消去,只剩下偶变量,问题转变成求解仅由偶变量组成的规模减半的新三对角方程组。求解该新方程组,得到所有的偶变量后,再回代求解所有的奇变量。即约化和回代过程。由于其基本的算术操作可以向量化,适合于向量机。此方法有大量学者进行研究,提出了许多改进的方法。例如,heller针对最后几步的短向量操作提出了不完全循环约化方法;r.reulter结合ibm3090vf向量机的特点提出了局部循环约化法;p.amodio针对分布式系统的特点改进了循环约化方法;最近针对此方法又提出对三对角方程组进行更大约化步的交替迭代策略。

  (三)基于矩阵乘分解算法
  将系数矩阵a分解成a=ft,方程ax=b化为fy=b和tx=y两个方程组的并行求解。这种算法又可以分为两类:
  1.重叠分解。如wang的分裂法及其改进算法就属于这一类。p.amodio在1993年对这类算法进行了很好的总结,用本地lu、本地lud和本地循环约化法求解,并在1995年提出基于矩阵乘分解的并行qr算法。h.michielse和a.van der vorst改变wang算法的消元次序,提出了通信量减少的算法。李晓梅等将h.michielse和a.van der vorst算法中的通信模式从单向串行改为双向并行,提出dpp算法,是目前最好的三对角方程组分布式算法之一。xx年骆志刚等中依据dpp算法,利用计算与通信重叠技术,减少处理机空闲时间取得了更好的并行效果。此类算法要求解p-1阶缩减系统。
  2.不重叠分解。例如lawrie & sameh算法、johsoon算法、baron算法、chawla在1991年提出的wz分解算法以及mattor在1995年提出的算法都属于这一类。此类算法要求解2p-2阶缩减系统。
  (四)基于矩阵和分解算法
  将系数矩阵分解成a=ao+△a,这类算法的共同特点是利用sherman & morrison公式将和的逆化为子矩阵逆的和。按矩阵分解方法,这种算法又可分为两类:
  1.重叠分解。这类算法首先由mehrmann在1990年提出,通过选择好的分解在计算过程中保持原方程组系数矩阵的结构特性,具有好的数值稳定性,需要求解p-1阶缩减系统。
  2.不重叠分解。sun等在1992年提出的并行划分lu算法ppt算法和并行对角占优算法pdd算法均属于这一类。需要求解2p-2阶缩减系统。其中pdd算法的通讯时间不随处理机的变化而变化,具有很好的可扩展性。x.h.sun和w.zhang在xx年提出了两层混合并行方法pth ,其基本思想是在pdd中嵌入一个内层三对角解法以形成一个两层的并行,基本算法是pdd,三对角系统首先基于pdd分解。pth算法也具有很好的可扩展性。
  四、并行求解三对角系统的迭代解法
  当稀疏线性方程组的系数矩阵不规则时,直接法在求解过程中会带来大量非零元素,增加了计算量、通信量和存储量,并且直接法不易并行,不能满足求解大规模问题的需要。因此通常使用迭代法来求解一般系数线性方程组和含零元素较多三对角线性方程组。迭代法包括古典迭代法和krylov子空间迭代法。
  古典迭代法包括jacobi、gauss-seidel、sor、ssor等方法。通常采用红黑排序、多色排序和多分裂等技术进行并行计算。

  由于古典迭代法有收敛速度慢、并行效果不好等缺点,目前已较少用于直接求解大型稀疏线性方程组,而是作为预条件子和其它方法(如krylov子空间方法)相结合使用。  krylov子空间方法具有存储量小,计算量小且易于并行等优点,非常适合于并行求解大型稀疏线性方程组。结合预条件子的krylov子空间迭代法是目前并行求解大型稀疏线性方程组的最主要方法。
  给定初值x0,求解稀疏线性方程组ax=y。设km为维子空间,一般投影方法是从m维仿射子空间x0+km中寻找近似解xm使之满足petrov-galerkin条件
        y-axm┻lm     
其中lm为另一个维子空间。如果km是krylov子空间,则上述投影方法称为krylov子空间方法。krylov子空间km(a,r0)定义为:
   km(a,r0)=span{r0,ar0,a2r0,…,am-1r0}
选取不同的km和lm就得到不同的krylov子空间方法。主要算法包括四类:基于正交投影方法、基于正交化方法、基于双正交化方法、基于正规方程方法。
  krylov子空间迭代法的收敛速度依赖于系数矩阵特征值的分布,对于很多问题,直接使用迭代法的收敛速度特别慢,或者根本不收敛。因此使用预条件改变其收敛性,使中断问题可解,并加速收敛速度是需要的。目前人们研究的预条件技术可分为四类:采用基于矩阵分裂的古典迭代法作为预条件子、采用不完全lu分解作预条件子、基于系数矩阵近似逆的预条件子、结合实际问题用多重网格或区域分解作预条件子。对krylov子空间和预条件krylov子空间方法有详细的讨论。
  预条件krylov子空间方法的并行计算问题一直是研究热点,已提出了一系列好的并行算法。目前预条件krylov子空间方法的计算量主要集中在矩阵向量乘上。虽然学者们做了大量的研究工作,但是还没找到效果好,又易于并行的预条件子。
  需要特别指出的是,对于一般线性代数方程组的并行求解,其可扩展并行计算的研究已相对成熟,并已形成相应的并行软件库,如美国田纳西亚州立大学和橡树岭国家实验室研制的基于消息传递计算平台的可扩展线性代数程序库scalapack和得克萨斯大学开发的界面更加友好的并行线性代数库plapack。我们借鉴其研究成果和研究方法,对三对角线性方程组并行算法的研究是有帮助的。
  五、结语
  三对角线性方程组的直接解法,算法丰富,程序较容易实现。但计算过程要增加计算量,并且大部分算法都对系数矩阵的要求比较高。迭代解法适合于非零元素较多的情况,特别是结合预条件子的krylov子空间迭代法已成为当前研究的热点。
  尽管三对角系统并行算法的研究取得了很多成果。但是还存在一些问题:直接法中,分治策略带来计算量和通信量的增加,如何减少计算量和通信量有待于进一步的研究;目前直接算法均基于分治策略,如何把其它并行算法设计技术,如平衡树和流水线等技术应用到三对角系统的并行求解中也是需要引起重视的方向;对于非对称系统还没找到一种通用的krylov子空间方法;krylov子空间方法的并行实现时仅考虑系数矩阵与向量乘,对其它问题考虑不够;以往设计的并行算法缺乏对算法可扩展性的考虑和分析。


相关文章

  • 弹性波动方程数值解的有限元并行算法
  • 2006年 第30卷 中国石油大学学报(自然科学版) V ol. 30 No. 5 第5期 Jour nal of China U niv ersity of Petroleum Oct. 2006 文章编号:1673-5005(2006) 05-0027-04 弹性波动方程数值解的有限元并行算法 ...

  • google翻译在线
  • google翻译在线 近来要写个论文,需要下载一些参考文献,但是在中国知网,万方,维普等文献检索网站上只能查看论文摘要,无法下载全文,怎么办呢,于是就开始了百度论文免费全文下载方法的艰苦历程,终于有所收获,找到了一些方法,但是这些方法大部分都已经失效了,无法使用.不过,最终还是让我找到了一个比较好的 ...

  • 潮流计算简答题
  • 潮流计算数学模型与数值方法 1. 什么是潮流计算?潮流计算的主要作用有哪些? 潮流计算,电力学名词,指在给定电力系统网络拓扑.元件参数和发电.负荷参量条件下,计算有功功率.无功功率及电压在电力网中的分布. 潮流计算是电力系统非常重要的分析计算,用以研究系统规划和运行中提出的各种问题.对规划中的电力系 ...

  • 运筹与优化模型资料整理
  • 1. 数学模型是可以详细地描述为对于现实世界的一个特定对象,为了一个特定的目的,根据特有的内在规律,作出一些必要的简化假设,运用适当的数学工具得到的一个数学结构. (1)建模没有唯一正确的答案.模型没有绝对的对与错,评价的唯一标准是实践检验. (2)有不同的建模方法.比较常见的是机理分析法.测试分析 ...

  • 结构优化设计的方法和进展
  • 系列讲座 结构优化设计---概念.方法与展望 第一部分 结构优化设计的背景与研究历史 在从事工程项目和结构的设计时,一个训练有术的工程师,除了要考虑设计对象的基本使用功能及安全可靠性外,还应该考虑到把它设计对象设计得尽可能完美.这就是工程和结构的最优化问题.用科学的语言来描述就是:利用确定的数学方法 ...

  • 线性方程组求解的数值方法(讲义)
  • 第三章 线性方程组求解 由于很多数学和工程问题都可以转化为线性方程组问题,线性方程组的数值求解具有重要意义.线性方程组解包括无解.有唯一解和有无穷解的三种情况.对于无解问题,工程上一般通过求解最小二乘问题,得到其近似解:对于无穷解问题,需要通过计算该问题对应齐次线性方程的基础解析和一个特解,构造问题 ...

  • 求解非线性方程组的混合遗传算法
  • 第22卷第1期2005年2月 计算力学学报 Chinese Journal of Computational Mechanics V ol. 22, N o . 1F ebr uary 2005 文章编号:1007-4708(2005) 01-0109-06 求解非线性方程组的混合遗传算法 罗亚中, ...

  • 配电网三相潮流计算程序
  • 毕 业 设 计 学生姓名 学院 吉雷 学 号 240804020 物理与电子电气工程学院 电气工程及其自动化 配电网三相潮流计算程序设计--前 题 目 指导教师 2012 年 5 月 专 业 推回代法 王留成 讲师/硕士 (姓 名) (专业技术职称/学位) 摘 要:本文首先分析了配电网的特点及对算法 ...

  • 线性方程组的求解
  • 目录 摘要 ................................................................................................ 1 一.用列主元消去法解方程组 ............................... ...

© 2024 范文中心 | 联系我们 webmaster# onjobs.com.cn