文章快速检索     高级检索
  大地测量与地球动力学  2018, Vol. 38 Issue (7): 695-697  DOI: 10.14075/j.jgg.2018.07.007

引用本文  

朱文武, 秦昆, 刘金钊, 等. 地震精密水准网平差的一种高效算法研究[J]. 大地测量与地球动力学, 2018, 38(7): 695-697.
ZHU Wenwu, QIN Kun, LIU Jinzhao, et al. A Fast Adjustment Algorithm of Earthquake Precise Leveling Network[J]. Journal of Geodesy and Geodynamics, 2018, 38(7): 695-697.

项目来源

国家科技部科技基础性工作专项(2015FY210400);中国地震局“三结合”项目(163304)。

Foundation support

Special Project of Basic Work of Science and Technology, Ministry of Science and Technology, No. 2015FY210400; Combination Project with Monitoring, Prediction and Scientific Research of Earthquake Technology, CEA, No. 163304.

第一作者简介

朱文武,工程师,主要从事重力、水准等形变数据处理与分析,E-mail:fmccea@163.com

About the first author

ZHU Wenwu, engineer, majors in data processing and analysis of gravity and leveling, E-mail: fmccea@163.com.

文章历史

收稿日期:2017-07-03
地震精密水准网平差的一种高效算法研究
朱文武1     秦昆2     刘金钊1     郑智江1     高艳龙1     
1. 中国地震局第一监测中心,天津市耐火路7号,300180;
2. 北京国研数通软件技术有限公司,北京市朝内大街298号,100010
摘要:传统的地震水准网平差计算方法因需要进行大量的“零乘积”运算而致使运算效率低下,不适用于数据量较大的地震水准网计算工作。针对地震水准网平差计算过程中法方程系数具有对称正定的特性,利用变量循环重新编号法进一步提升运算效率。利用新算法进行数据平差计算,对比验证结果表明,与传统算法相比,地震精密水准网型越复杂,新算法节省的时间越多。
关键词地震水准网平差对称正定矩阵变量循环重新编号法

地震精密水准测量是地震预测预报工作的手段之一,由于其测量精度在垂向上具有远超其他手段的优越性,在进行地震同震、地表垂直形变等方面的研究工作中发挥着重要的作用[1-2]。而由于地震精密水准网存在多余观测,为了消除观测结果不符值,进行平差计算是必不可少的一个环节。一般地,通过条件平差法或间接平差法即可满足地震精密水准网的平差计算,然而这种传统的算法效率低下,当网型较大、观测边数较多时,计算非常耗时。

本文在深入研究地震精密水准数据特性的基础上发现,组成基础方程的系数矩阵仅由1、-1和0三个数值组成,若精密水准网有m条边、n个点,则构建的基础方程系数恰好由m个1、n个-1以及mn-m-n个0构成,且基础方程系数每行有且仅有一个1、一个-1,其余的位置均为0。除此之处,平差方程的法方程系数恰好又为对称正定矩阵。基于此,本文在计算法方程时,通过只对“非零值”进行计算以及利用变量循环重新编号法[3]减少矩阵的计算次数,从而提高计算效率。

1 算法原理

假设区域精密水准网共有m条边、n个点,权阵为P,误差方程系数矩阵为A,常数项矩阵为L,未知数矩阵为X,则有:

$ \mathit{\boldsymbol{P = }}\left| \begin{array}{l} {p_1}\;\;\;\;\;0\;\;\;\;\;0\;\;\;\;\; \cdots \;\;\;\;\;0\\ \;0\;\;\;\;\;{p_1}\;\;\;\;0\;\;\;\;\; \cdots \;\;\;\;\;0\\ \;0\;\;\;\;\;\;0\;\;\;\;{p_3}\;\;\;\; \cdots \;\;\;\;\;0\\ \cdots \;\;\; \cdots \;\;\; \cdots \;\;\; \cdots \;\;\;\; \cdots \\ \;0\;\;\;\; \cdots \;\;\; \cdots \;\;\; \cdots \;\;\;\;{p_m} \end{array} \right|, \mathit{\boldsymbol{L}} = \left| \begin{array}{l} {l_1}\\ {l_2}\\ {l_3}\\ \cdots \\ {l_m} \end{array} \right|, \mathit{\boldsymbol{X}} = \left| \begin{array}{l} {x_1}\\ {x_2}\\ {x_3}\\ \cdots \\ {x_n} \end{array} \right| $ (1)

式中,pi=1/si(i=1, 2, …, m)。

下面考虑误差方程系数A。已知

$ \mathit{\boldsymbol{A}} = \left| {\begin{array}{*{20}{l}} {{a_{11}}\;\;\;\;{a_{12}}\;\;\;\;{a_{13}}\;\;\;\; \cdots \;\;\;\;{a_{1n}}}\\ {{a_{21}}\;\;\;\;{a_{22}}\;\;\;\;{a_{23}}\;\;\;\; \cdots \;\;\;\;{a_{2n}}}\\ {{a_{31}}\;\;\;\;{a_{32}}\;\;\;\;{a_{33}}\;\;\;\; \cdots \;\;\;\;{a_{3n}}}\\ { \cdots \;\;\;\; \cdots \;\;\;\;\; \cdots \;\;\;\; \cdots \;\;\;\; \cdots }\\ {{a_{m1}}\;\;\; \cdots \;\;\;\;\; \cdots \;\;\;\; \cdots \;\;\;{a_{mn}}} \end{array}} \right| $

Ai=|ai1ai2ain|,其中i=1, 2, …, m。根据地震区域精密水准网方程的特性可知,Ai所对应的线路中仅含有一个起点、一个终点,即-Po起点+Po终点=H高差。因此,当组建成误差方程矩阵反映到矩阵Ai中时,Po起点系数在Ai中相应位置上的值为-1,Po终点相应位置上的值为1,其余位置上的值皆为0。则A中非0值的个数共有2m个,总数只占整个矩阵A的2/n

已知间接平差的法方程表达式为[4]

$ {\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{PAX}} - {\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{PL}} = 0 $ (2)

且传统的平差算法表达式为:

$ \mathit{\boldsymbol{X}} = {\left( {{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{PA}}} \right)^{ - 1}}{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{PL}} $ (3)

当得到式(2)后,如果不直接利用其计算X,而是对ATPAATPL作进一步的数学推导,在此基础上再对X进行计算,则可以避免前述的“零值累加”的无效运算。经推导可知:

$ {\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{PL = }}{\left| {\sum\limits_{i = 1}^m {{a_{i1}}{p_i}{l_i}\;\;\;\;\sum\limits_{i = 1}^m {{a_{i2}}{p_i}{l_i}\;\;\;\; \cdots \;\;\;\;\sum\limits_{i = 1}^m {{a_{im}}{p_i}{l_i}} } } } \right|^{\rm{T}}} $ (4)
$ {\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{PA = }}\left| \begin{array}{l} \sum\limits_{i = 1}^m {{a_{i1}}{a_{i1}}{p_i}\;\;\;\;\sum\limits_{i = 1}^m {{a_{i1}}{a_{i2}}{p_i}\;\;\;\; \cdots \;\;\;\;\sum\limits_{i = 1}^m {{a_{i1}}{a_{in}}{p_i}} } } \\ \sum\limits_{i = 1}^m {{a_{i1}}{a_{i2}}{p_i}\;\;\;\;\sum\limits_{i = 1}^m {{a_{i2}}{a_{i2}}{p_i}\;\;\;\; \cdots \;\;\;\;\sum\limits_{i = 1}^m {{a_{i2}}{a_{in}}{p_i}} } } \\ \;\;\;\;\;\; \cdots \;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \cdots \;\;\;\;\;\;\;\;\; \cdots \;\;\;\;\;\;\;\;\;\; \cdots \;\;\;\;\;\\ \sum\limits_{i = 1}^m {{a_{i1}}{a_{in}}{p_i}\;\;\;\;\sum\limits_{i = 1}^m {{a_{i2}}{a_{in}}{p_i}\;\;\;\; \cdots \;\;\;\;\sum\limits_{i = 1}^m {{a_{in}}{a_{in}}{p_i}} } } \end{array} \right| $ (5)

由式(4)可以看出,任何一个A (i, j)(i=1, 2, …, m; j=1, 2, …, n)在表达式中仅出现一次,而A共有2m个非零值,因此在进行逐行遍历时ATPL只需要计算2m次,并将计算结果在相应位置上累加即可。对于式(5),假定AiA (i, l)和A (i, k)(l, k∈(1, 2, …, n))为非零值,则对第Ai行进行遍历时,仅能够对ATPA中的ATPA (l, l)、ATPA (k, k)以及ATPA (l, k)产生贡献(计算结果不为零),即每遍历一行,只需要计算3个值即可,换言之,即计算3次。而A共有m行,需要遍历m次,因此共需要计算3m次。

综上所述,无论是计算A TPL还是A TPA,当按照水准路线进行逐行遍历时,只需要针对值为不为0的系数进行计算并在相应的位置上累加即可,而不需要像传统的方法那样进行逐项乘积并累加,从而避免进行大量关于“零值累加”的计算,导致运算效率降低。表 1为一般平差算法和高效算法在进行ATPLATPA运算次数上的比较。

表 1 ATPLATPA运算次数对比 Tab. 1 Comparison between ATPL and ATPA

进一步不难发现,ATPA矩阵为对称正定矩阵,只需要计算该矩阵的下三角或上三角矩阵即可,且考虑到ATPA为对称正定矩阵,为简化程序编写过程,提高计算效率,可选用变量循环重新编号法进行求逆,这种算法与Gauss约化法、Gauss-Jordan消去法相比,虽然多占用一些内存,但是计算效率更高[5]

2 算例

利用C#语言在VS2010平台上编写程序,选用2个算例并分别利用2种算法进行测试。算例1选用了模拟数据,如图 1所示,模拟数据共计16条边,9个点(P1为已知点,Hp1=0 mm,详细信息见表 2)。

图 1 模拟算例1 Fig. 1 Numerical example 1

表 2 模拟算例1 Tab. 2 Numerical example 1

表 3看出,两种方法计算结果完全一致,但计算时间上(精确至整数位)差别较大(表 4),其中传统算法耗时10 ms,而高效算法接近0 ms。

表 3 模拟算例1平差计算结果 Tab. 3 Adjustment results of numerical example 1

表 4 算法对比 Tab. 4 Comparison of the two algorithms

算例2选用天津市滨海新区某年精密水准网数据进行计算,如图 2所示。该水准网共428条边,410个点,分别选用2种算法进行计算。计算结果表明,2种算法结果完全一致,单位权中误差均为0.000 8 mm(由于数据量较大,未在本文中列出),但在计算耗时方面(表 4),二者相差21 969 ms。

图 2 天津市滨海新区精密水准网 Fig. 2 Precise leveling network in Binhai district of Tianjin
3 结语

根据地震区域精密水准网的特点,在进行平差运算时,通过只对矩阵中非零值进行计算并累加,避免了进行大量零值的无效累加运算,提高了运算效率。同时,考虑到地震区域精密水准网平差法方程系数为对称正定矩阵,利用变量循环重新编号法且仅存储下三角矩阵的形式,进一步提高了运算效率。

参考文献
[1]
王双绪, 蒋锋云, 张四新, 等. 六盘山及其邻区现今大地垂直形变与构造活动研究[J]. 大地测量与地球动力学, 2016, 37(1): 16-21 (Wang Shuangxu, Jiang Fengyun, Zhang Sixin, et al. Present Vertical Deformation and Tectonic Activity in Liupanshan and Its Adjacent Areas[J]. Journal of Geodesy and Geodynamics, 2016, 37(1): 16-21) (0)
[2]
刘琦, 闻学泽, 邵志刚. 基于GPS、水准和强震动观测资料联合反演2013年芦山7.0级地震同震滑动分布[J]. 地球物理学报, 2016, 59(6): 2113-2125 (Liu Qi, Wen Xueze, Shao Zhigang. Joint Inversion for Coseismic Slip of the 2013 MS7.0 Lushan Earthquake from GPS, Leveling and Strong Motion Observations[J]. Chinese J Geophys, 2016, 59(6): 2113-2125 DOI:10.6038/cjg20160617) (0)
[3]
郭显娥. 程序实现对称正定矩阵的求逆[J]. 雁北师院学报, 1998, 14(5): 11-15 (Guo Xian'e. The Settlement of the Inversion Operation on the Procedure of the Symmetric Matrix[J]. Journal of Yanbei Normal University, 1998, 14(5): 11-15) (0)
[4]
陶本藻. 误差理论与测量平差基础[M]. 武汉: 武汉大学出版社, 2009 (Tao Benzao. Error Theory and Measurement Adjustment Basis[M]. Wuhan: Wuhan University Press, 2009) (0)
[5]
许松钧. 大型对称正定矩阵求逆算法的选择[J]. 昆工科技, 1991(1): 1-5 (Xu Songjun. Selection of Inverse Algorithm for Large Symmetric Positive Definite Matrices[J]. Kunming Science and Technology, 1991(1): 1-5) (0)
A Fast Adjustment Algorithm of Earthquake Precise Leveling Network
ZHU Wenwu1     QIN Kun2     LIU Jinzhao1     ZHENG Zhijiang1     GAO Yanlong1     
1. The First Curst Monitoring and Application Center, CEA, 7 Naihuo Road, Tianjin 300180, China;
2. SRIT Software Technology Co Ltd, 298 Chaonei Street, Beijing 100010, China
Abstract: Generally, there are many calculations of about zero in the traditional adjustment algorithm, which is useless and decreases the calculation efficiency, especially when the data quantity is very large. The new adjustment algorithm avoids the problem above effectively, and the new algorithm is further improved using a variable-loop-and-renumber-method. Finally, the new adjustment algorithm is used to adjust the precise leveling data in Tianjin, and the results show that new algorithm is more effective.
Key words: earthquake leveling network; adjustment; symmetric positive definite matrix; variable-loop-and-renumber-method