Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

2012正 测绘科学技术学报 2012

第29卷第1期 Journal of Geomatics Science and Technology V01.29 NO.1

文章编号:1673—6338(2012)01—0005—04

大型稀疏法方程组的代数多重网格解法

郭飞霄1,杨力1,刘荣2,汪菲菲3
(1.信息工程大学测绘学院,河南郑州450052;2.63880部队,河南洛阳471003

3.68011部队,甘肃兰州 730020)

摘要:测量平差中经常会遇到大型稀疏法方程组的求解。传统的线性方程组迭代解法能够很快平滑误差分量

中的高频分量;但对于低频分量衰减很慢。代数多重网格算法通过建立多重网格,并在不同的网格层上分别
处理高低频误差分量,将所有层相互协调起来求解同一问题。这对于大规模稀疏线性方程组的求解,具有高

效性。这里介绍了代数多重网格算法,并进行了改进,得到了AMG-CG算法。数值算例表明,代数多重网格

算法(AMG)以及改进的AMGCG算法对求解大型稀疏法方程组具有高效性和数值稳定性,改进后的AMG-
CG算法在计算效率上进一步提高,对于大型稀疏法方程组的求解是可行有效的算法。

关键词:大型法方程组;稀疏;迭代法;代数多重网格算法;高效性

中图分类号:P208 文献标识码:A DOI编码:10.3969/i.issn.1673—6338.2012.01.002

Algebraic Multigrid Solution of Large-Scale Sparse Normal Equatation

GUO Feixia01,YANG Lil,LIU Ron92,WANG Feifei3

(1.Institute of Surveying and Mapping,Information Engineering University,Zhengzhou 450052,China

2.63880 Troops,Luoyang 471003,China;3.6801 1 Troops,Lanzhou 730020,China)

Abstract:The solution O{large—scale sparse normal equatation iS often required in survey adj ustment,The tradi—
tional iterative methods for linear systems can eliminate high frequency component of error component very

quickly,but for lOW frequency component,it processes quite slowly.Algebraic multigrid method requests tO
establish multigrids,tackle high frequency component and low frequency component in different grid layers re—

spectively and address the same question via coordinate all layers,which plays a high—efficient role in solving

large—scale sparse normal equatation.Algebraic muhigrid method was introduced and AMG-GG method was
deduced by advancing the former.Numeric examples indicated that AMG method and advanced AMG-GG
method were proved tO be feasible and valid methods,and they were high-efficiency and stablity in solving

large-scale sparse normal equatation.


Key words:large—scale normal equatation:sparse;iterative method;algebraic multigrid method;high—effeiency

在测量平差中,大型法方程组的快速解算一 迭代算法。
直是研究的热点问题。大型测量工程中,如大地 传统的线性方程组解法,如Gauss—Jordan消
测量、卫星轨道确定、空中三角测量、重力场模型 去法、Gauss—Seidel迭代法、共轭梯度法(CG)和
建立等,都要涉及到大型法方程组的计算n{]。我 Cholesky分解法等,在计算过程中需要较大的存
国地面网与空间网联合平差将根据经典与现代测 储量。并且受算法复杂度限制,在线性方程组规
量的观测方程建立近万阶的法方程组。这类大型 模较大的情况下,求解速率会严重降低。代数多
法方程组的求解往往都可归结为对大型稀疏法方 重网格算法,是大型稀疏线性方程组迭代求解中
程组的求解。因此,对这类线性方程组的快速、高 最有效的方法之一。它在几何多重网格算法思想
效求解能够在很大程度上提高整个问题的求解效 的基础上延伸建立起来,同时保留了几何多重网
率。若线性方程组规模很大,用消元法等直接解 格算法的优点。这是一种自动求解稀疏线性方程
法求解起来则会变得非常困难。并且受到舍入误 组的迭代方法,具有良好的“高效性”和“鲁棒性”。
差、计算机硬件水平和算法复杂度的限制,针对这 其算法的计算量线性地依赖于物理量的个数,即
类大型问题直接求解几乎不可能。因此通常采用 渐进最优收敛性[3。4],是数值计算领域一项重要的

收稿日期:2011-10一21;修回日期:201i-12—16。

作者简介:郭飞霄(1988一),男,甘肃兰州人,硕士生,主要从事卫星导航与定位研究。

万方数据
测绘科学技术学报

迭代加速收敛技术。这里对代数多重网格算法进 复杂度‘6|,结果列于表1。
行了初步研究,并在该算法基础上进行了改进,得 表1 几种常用迭代法计算量时间复杂度比较

到了以AMG为预处理算子的AMG—CG算法。 迭代方法 计算量的时间复杂度

计算实例表明,该算法求解效率高。 Gauss消元法 ”

Gauss—Seidel迭代法 n

共轭梯度法(CG) ” ”懈川g)
1 多重网格算法 多重网格算法(MG) ”

根据误差理论,可将线性方程组的解的误差 快速傅里叶变换分解法 “““““ ” ,懈


Fourier分量分为高频分量和低频分量两类。高
频分量在迭代过程中会迅速衰减;而低频分量则 通过比较可以看出,多重网格算法在算法复

衰减缓慢。传统的迭代法,如Jacobi迭代法和 杂度上是最优的。

Gauss—Seidel迭代法等能迅速平滑误差高频分
量,但对误差低频分量却衰减缓慢。多重网格算 2 代数多重网格算法

法是迭代算法的一种。它的基本思想是:在不同 2.1 算法概述

规模网格上求解同一个问题,细网格只负责误差 前面所介绍的多重网格算法,已经假定了部

高频分量的消除;而误差低频分量的消除则由粗 分隐含的几何结构,例如网格结构、求解区域几何
网格负责完成。细网格光滑、粗网格校正、嵌套迭 特性、预先确定的获得粗网格的方法等等,所以又
代技术是该算法的3个关键点。在细网格上作光 称之为几何多重网格算法(GMG)。但是有些问

滑迭代消除误差的高频分量,然后对误差的低频 题却没有几何背景,这就限制了几何多重网格算
分量在更粗网格上进行校正,嵌套迭代技术通过 法的应用和推广。并且,针对不同的问题,几何多
限制和延拓算子连接所有层共同求解同一个问 重网格算法需要构造与之相应的粗网格分量,编
题。这种细网格光滑与粗网格校正过程的有机结 写不同的程序,因此它在使用上有局限性。

合,便构成了多重网格法。关于多重网格算法的 AMG算法是在几何多重网格算法的思想上

更多介绍可参见文献E53。 延伸建立起来的,是一种自动求解大型稀疏线性

对线性方程组Au—f,建立如下迭代格式: 方程组的迭代算法。它不需要利用求解问题的物
H?+1一MG(志,y,ur,A^,f^,m1,优2). 理和几何背景,仅利用方程组系数矩阵中的代数
式中,y为循环指标,当),一1时,称为V一循环;当 信息构造多重网格算法的步骤;然后按照通常的
7—2时,称为W一循环。 多重网格循环过程进行求解。在AMG算法中,
多重网格算法(MG)如下所述。 定义矩阵A的连接图G一(V,E),作为AGM的虚
1)前光滑。公式为 拟网格n。算法包括Setup和Solution两个阶
H斧一S”I(U。m,A^,f^). 段。Setup阶段定义安装多重网格的各组成部
2)粗网格校正。首先计算出残差rZ—f。一 分:嵌套网格层、限制和插值算子、网格算子和光
A彬?和限制残差,.暑。一Jl_1r?。在nH上求解方 滑算子(一般为Gauss—Seidel迭代或Jacobi迭代)

程AHFAH4-?I--rk”_。的近似解;暑,。若k一1,用直接 等。Solution阶段执行多重网格循环,如V一循
解法或者一般迭代法求解;若k>1,以0为初值, 环,w一循环和FMG等。

用7(≥1)步k网格循环近似求解,得到 2.1.1 Setup阶段

e^m—l—MG(愚一1,y,0,A女一l,r卅-】,m1,m 2) 1)设计嵌套网格层:n1 3 n2]…]nM。

然后插值出校正量刍≯一Jl一。;鼻,,并在绣上 对n‘按照标准粗化算法进行划分:力‘一C6 U F‘

计算校正近似五?一五≯+舍Z。 (C6和F‘不相交,分别表示粗网格点和细网格点
3)后光滑。公式为 集合;k一1,2,…,M)。

H斧+1一S“z(HZ,A^,f^). 2)构造插值算子J锋。,限制算子J∥一
多重网格算法的主要特点就是具有渐进最优 (J锋1)7,网格算子A抖1一JFlA 6J0l(即Galerkin
收敛性,即算法的计算量线性地依赖于物理量个 算子,最细网格层上的算子A记为A1)。
数。例如,对于一个2维Poisson方程,在m×m 2.1.2 (卢。,产2)V一循环V6(H‘,f‘)
网格上离散后得到线性方程组,则有以一m×m个 若k—M,准确求解“M一(AM)_1fM;否则进行
未知数。下面比较几种常用迭代法计算量的时间 如下步骤。

万方数据
第29卷第1期 郭飞霄,等:大型稀疏法方程组的代数多重网格解法

1)前光滑。对A‘g‘=,6做/2。次光滑迭代。 方,在这些地方进行AMG的V一循环(即求解方
2)粗网格校正。设g抖1=0,先计算f抖1= 程组Qz。一r。)。具体步骤如下。
I矿1(,‘一A6“‘);然后在第(忌+1)层上递归求解 1)计算ro—b—Ax o,zo-_Q.1 ro和Po—zo;
V蚪1(H抖1,f计1);再将H蚪1插值到第k层网格并校 2)对于J一0,l,2,…,迭代下列各式:
正近似解H6。 aJ=(,.,,zJ)/(Ap J,PJ),
3)后光滑。对A69 6一,‘做/2。次光滑迭代。 Xj+l 2xi j广&ip|,
2.2 以AMG为预处理算子的PCG算法 r,+1。rj—ajApj,
所谓预处理,就是将原来的线性方程组转换 2:j+l 2Q~rj+l,
成一个等价的、更易求解的线性方程组,同时用迭 传一(■+1,Zj+I)/(r,,zJ),
代法求解,以期望获得更快的收敛速度。在实际 P州=zⅢ+岛Pi.
工程应用中,AMG不仅可以用来直接求解大型 直到收敛。
稀疏线性方程组,并且作为预处理加速中的预处
理步骤也是很好的选择。常见的预处理加速包括 3算例与分析
了CG,BICGSTAB和GMRES等算法,预处理方 在大型规模计算中,稀疏矩阵的存储经常采
法有ILU和SSOR等算子。以AMG为预处理算 用1维稀疏存储方式(按行存储)。该方式只存储
子的预处理并不是传统的对矩阵进行分化和对角 非零元素,这对节约存储空间非常有效。因此在
处理,而是在预处理方法中对出现的含有预处理 本算例的AMG算法中,采用1维稀疏存储方法
算子的方程组用AMG算法求解,这同样达到了 来存储方程组系数矩阵。
预处理的效果。由于是多层网格方法,在处理大 算例模拟了一个大型稀疏法方程组,其系数
型稀疏矩阵的时候,AMG作为预处理算子产生 矩阵规模为9 090阶,并且是对称正定的,非零元
的效果要远好于ILU和SSOR等常规算子。 素有62 244个,稀疏程度在0.075%。在算例中,
共轭梯度法(CG)作为Krylov子空间迭代算 分别采用全选主元Gauss—Jordan消去法、Gauss—
法的一类,对于求解大型稀疏线性方程组是一个 Seidel法、BICGSTAB法、AMG法以及AMG—
有效的解法。理论上讲,对于N阶方阵,最多迭 CG法这5种算法求解该稀疏法方程组。所得结
代N次就可以得到方程组的准确解,因此,该方 果列于表2。
法已经在工程中较为普遍地使用。预处理共轭梯 表2不同算法计算结果比较

度法(PCG),简单讲,就是在用共轭梯度法解算方
程组之前,预先采取一些措施使方程组的条件数
降低,从而使收敛速度加快。这里,采用AMG作
为预处理算子,记为AMG—CG算法。需要指出的
是,这里提及的AMG—CG算法与文献E73中的
AMG—CG算法是有所不同的。一般的PCG算法 注:。。表示迭代次数超过100 000次仍未达到给定精度。

中,需要给出具体的预处理矩阵Q。文献[7]中对
这类预处理矩阵Q的构造方法做了简介。另一方 比较结果可以看出,对于该稀疏法方程组,
面,由于AMG方法对于系数矩阵的广泛适应性, Gauss—Seidel迭代法不收敛。全选主元GaLISS—

在求解过程中并不需要使用此类的近似矩阵Q。 Jordan法虽然能够求解,但因为该方法属于直接
而是对每一个在CG算法中需要预处理的地方, 解法,求解过程中存贮量大,运算次数多,因而计

直接使用系数矩阵A替代Q进行求解以获得一个 算时间非常长。而AMG和AMG—CG迭代算法
较好的CG算法初值。这样与使用近似矩阵进行 表现出了十分明显的优势,在计算时间上明显快
预处理效果一样,但是却减少了预处理矩阵Q的 于迭代算法BICGSTAB和直接解法Gauss—Jor—
计算时间。 dan消去法,且计算结果在精度上也提高了一个
下面给出该算法的具体步骤。 数量级。AMG—CG算法与AMG算法相比较,在
设方程组为Ax一6,初始迭代值为X。,预处理 速率上又提高了(0.39—0.23)/0.39≈41%。这
矩阵为Q。 说明,采用AMG作为PCG算法的预处理算子,
在所有出现Q_的地方都是需要预处理的地 达到了很好的效果,具有高效性。

万方数据
8 测绘科学技术学报 2012年

4结论 参考文献:
[1] 宋力杰,欧阳桂崇.超大规模大地网分区平差快速解算方
1)针对大型稀疏法方程组的求解,直接解法
法EJ].测绘学报,2003.32(3):205—207.
与传统迭代法受到算法复杂度的限制,在线性方
[2] 刘缵武,张玉令,郇茜.大型稀疏法方程纽的非零结丰哿分解
程组规模较大的情况下,求解速率会严重降低。
[J].测绘学院学报,2005,22(2):101—102.
传统的迭代法,如Jacobi迭代法和Gauss—Seidel [3]STUUBEN K.A Review。f Algebraic Muhigrid[]],/our—
迭代法等方法对误差低频分量衰减缓慢,而 nal of Computational and Applied Mathemtics,2001,128

AMG算法则通过在不同规模网格上求解,达到 (112):28i一309.

消除误差低频分量的目的。 E41 BRANDT A.Algebraic Muhigrid Theory:the Symmetric

Case[J]。Journal of Computational and Applied Ma!h—


2)数值算例表明,代数多重网格算法以及改
emtics,1986,19(1/4):23-56.
进的AMG~CG算法对于求解大型稀疏法方程组 [5]STUOBEN K。Algebraic Multigrid(AMG):An]ntroduc.
具有高效性和数值稳定性。针对大型稀疏法方程 tion With Application《R].GMD-Report 70,1999.

组的求解是一种可行有效的算法。 [6] 肖映雄.代数多重网格算法研究及其在固体力学计算中的

3)针对测量平差中法方程组系数矩阵的特 应用[D].湘潭:湘潭大学,2006:7.
[73 席玉萍.代数多重网格算法在直流电法有限元模拟中应用
点,如何构造更有效的网格粗化算子是有待于今
[D].长沙:中南大学,2008:40—42.
后进一步研究的问题。
责任编辑陶大欣

(上接第4页)

[63 陈品馨,章传银,黄昆学.用相位减伪距法和电离层残差法 [12] 徐锐,黄丁发,周乐韬,等.一种改进的双频单P码周跳探

探测和修复周跳[J].大地测量与地球动力学。2010,30(2): 测与修复方法[J].大地测量与地球动力学,2007,27(4):
120—123. 67-71.

[7]王维,王解先,高俊强.GPS周跳探测的方法研究[J1.武汉 [is] 黄爱萱,吴云。童小华.利用GPS组合观测值探测修复周

大学学报:信息科学版,2010,35(6):687—690. 跳的方法比较[J].测绘工程,2007,16(4):25—29.
[8]张成卓,许其风,李作虎.对伪距/相位组合量探测与修复周 [14] BLEWITT G.An Automatic Editing Algorithm for GPS

跳算法的改进[J].测绘学报,2009,38(5):402—407. Data[J].Geophysical Research Letters,1990,17(3):199—

[9] 刘根友,朱才连,任超.GPS相位与伪距联合实时定位算法 202.

[J].测绘通报,Z001(10):10一11, [15] DEDES,GEORGE,MALLETT.Effects of the ronospher℃

[10] 郑作亚,程宗颐,黄琉,等.对Blewitt周跳探测与修复方 and Cycle—Slips in Long Baseline Dynamic Positioning[C]

法的改进[J].天文学报,2005,46(2):216-224. //Proceedings 0f the 8th International Technicai Meeting

[11]孔巧丽,欧吉坤,柴艳菊.星载GPS相位非差观测粗差和 of the Satellite Division of the Institute of Navigation

周跳的探测与修复[J],大地洲量与地球动力学,2005,Z5 (ION GPS 1995,.Palm Springs,Calffornia,1995:108l一

(4):105—109. 1090.

责任编辑陈四清

万方数据

You might also like