基于Gram-Schmidt正交法的矩阵并行QR分解算法

更新时间:2023-08-28 19:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

qr分解 论文呢

第31卷第3期

201佛山科学技术学院学报(自然科学版)JournalofFoshanUniversity(NaturalScienceEdition)V01.31NO.33年5月May2013文章编号:1008—0171(2013)03—0044—04

基于Gram—Schmidt正交法的

矩阵并行QR分解算法

黄丽嫦,黄润

(佛山职业技术学院计算机系,广东佛山528137)

摘要:分析了线性无关向量组的Gram—Schmidt正交化过程以及矩阵的QR分解原理。在多核架构的微机中,设计实现了一种基于Gram—Schmidt正交法的矩阵QR多核并行分解算法。新算法易于计算机编程实现,数值实验也验证了算法具有良好的并行性。

关键词:Gram—Schmidt正交法;QR分解;多核并行计算

中图分类号:0151.21文献标志码:A

矩阵的QR分解在数值代数中有着重要的应用,它为矩阵特征值的数值求解提供了理论依据,并且也是求解最小二乘问题、最优化问题和某些病态方程组的有效工具。QR分解的优点是具有良好的数值稳定性,无须像选主元策略那样进行某些行或列的交换;而缺点就是在分解过程中所产生的串行计算次数远高于I。U、Cholesky等其他矩阵分解,为此,研究并行QR分解算法有着重要的实用意义[1]。矩阵的QR分鳃通常有Householder变换、Givens变换及Gram—Schmidt正交化三种实现方法,近年来,在机群高速网络环境中基于Givens变换的并行QR分解算法得到了很好地研究[2。4]。注意到目前的微机普遍具有多核架构计算环境,本文采用Gram—Schmidt正交化的方法,在多核微机中设计实现了一种并行矩阵QR分解算法。

1Gram—Schmidt正交化法及矩阵的QR分解原理

线性无关向量组的Gram—Schmidt正交化过程

设口。,a:,…,‰是咒维欧氏空间中,”(,咒≤n)个线性无关的向量,Gram—Schmidt正交化过程就是求1.1取一组单位向量q,,gz,…,g。使得:

(1)口。,口2,…,‰张成的空间等于q。,q2,…,q,。张成的空间,即span(乜】,a2,…,%)一span{ql,q2,…,q,。};

(2)口,,口。,…婚。两两正交,即内积(qi,qj)一妻%孙一{:’i_j:’

^一I(i,J一1,2,…,,舱)。Iu,l-F-J。

遵循上述条件,可得如下的Gram—Schmidt正交化过程[5]:

,厂:_—一

(1)取gi一口-,化为单位向量有g 一1r爱兀,其中IIg川z一√蚤(g ;)2为q!的向量范数。

收稿日期:2013-01—26

基金项目:佛山职业技术学院校级科研基金资助项目(2011KY017)作者简介:黄丽嫦(1962一),女,广东中山人,佛山职业技术学院讲师。

qr分解 论文呢

第3期黄丽嫦等:基于Gram—Schmidt正交法的矩阵并行QR分解算法

(f2)取q;一&!一卜崩¨g-(卢㈡∈R).从(q- q:)一。可知卢;”一一湍一一(&: q.卜故qi—d:一

pr”qj~f秽-g、÷…÷雕二,%一,(卢≯_‘’.卢≯屯’,…,j≥岸i∈R).同理.从(口:,q.:)一l乜.-(7i)口! 把q;化为单氲向量 有q:一可翻一:(3)取gj—a。_L

o,(gz婚!)一。,…,(%:一。饵!)一。可知雕一1)一一篙薯窘一一(%,.q。),雕一!)一一÷瓮÷舅一一(%。q!)。…,卢矬,一一石羔一一(%:,%一,),故g上一‰一(%。,q-)q 一(‰,qz)gz一…一(“:,%一 )吼卜 一‰一圣(‰,g。)g一,把“化为单位向量有吼:一可曩记。

1.2矩阵的QR分解原理

引理1设A是九阶实(复)非奇异矩阵,则存在正交(酉)矩阵Q与实(复)非奇异上三角矩阵R,使得

A—QR

成立‘6j。(1)

引理2设A是,z×Ⅲ(,胛<,z)实(复)矩阵,且其川个列线性无关,则A有分解

A—QR,

其中,Q是门×,咒实(复)矩阵,且满足Q丁Q=I或QHQ=I,R是,咒阶实(复)非奇异上三角矩阵‘6|。2基于G—S正交化的矩阵并行QR分解算法设计

设A一(&。,d2,…,d。)为门×,72(7咒≤订)实矩阵,rank(A)一7”,且A=QR,其中Q一(q1,92,…,‰)为列

正交阵,尺一

●为,咒阶实非奇异上三角矩阵,可得如下向量方程组

n吃;‰m

』aG:I一=r,.,l:l口q。l’+r::口:,

la,,。一,.,。q,+,.:,。g。

其中,q,g:∈R”(i一1,2,…,7竹);Vi≠歹,3(q。,g,)一0;,。十r…口。。(2)dJ一∑j-i(%gi)北,i=j,

从式(2)的第1个方程开始,取,.。。一|1a。ll:,g。一-‘x1;然后以g。代人式(2)中的第2个方程,求出,.Ⅲ,.:。,口:;如此类推,求出_r¨。,,.:。,…,‰,。和口…这种依照列方式顺序来求解月矩阵的方法往往具有数值稳定性差的缺点,主要原因是当d,和以前的di(i<歹)接近线性相关时,,‘,,也接近0,而用它作为分母去求g,将会出现较大的误差,最终导致口。,口:,…,口,。失去了正交性。

为了增强数值稳定性,可以依照行方式顺序从式(2)中求解尺矩阵,即先求出式(2)中右边以第l列,接着求出第2列,直至求出Q、R矩阵为止。具体过程为:

(1)取“一lId。11。,g。一};

,11

(2)在式(2)的第2~,咒个方程中分别施行与g。的内积计算,根据正交性的条件有rlj一(d,,q。)(J一2,3,…,7竹);

(3)为式(2)的第2~,,z个方程消去g。分量(与口。的平行分量),得到如下的方程组

qr分解 论文呢

佛山科学技术学院学报f自然科学版)第31卷

{a;¨一r!!口:

<口;¨一r?。口:寸一,‘?393.(3)

la碧’=r2mq!__, ¨。g3+…+,。。‰。

其ep,a;¨一口,~口1r1,(歹一2,3,…,7咒)。

(4)类似过程(1)~(3),直至求出O、R矩阵为止。

在式(2)的R矩阵求解过程中,行方式顺序比列方式顺序具有更好的数值稳定性,这是因为在计算g,。时,‰向量已被更新了,咒一1次,各次的更新分别对a。,a:,…,%一。的平行分量进行消除,因而由口。,dz,.”,‰接近线性相关所引起的舍入误差将会很好地消除。

综上所述,可设计如下的多核G—S正交化的矩阵并行QR分解算法:

输入:矩阵A。。(,咒≤门);

输出:正交阵a。,。和非奇异上三角矩阵R。。。。

算法描述:(设CPU的核数为P)

for(i一1,j<一7咒;i++)

厂:_

(1)多核并行计算“一II嘶ll。一^/∑d磊,q?一嘶/靠。在核1中计算:SUml=d备+口玉+…+dj。,A—ceil(参)是求不小于(詈)的最小整数;在核2中计算:sum2一d备+船+¨+…+娘,B—ceil77”)+1,c一2*ceil(詈);在核户中计算:sump=a氮+d曼扎i+…+最,x一(户一1)*ceil(芳)+1,y=以。核1~核户并行计算,待所有核计算完毕后,通过双向管道把各核的计算结果suml,sum2,…,sump汇总到任一核中,并计算出“一11啦II。一^/∑口磊一“面司Ri面西干i干面和gi一口i/“。广:_-一

(2)多核并行计算~=(aj,qi)=√d1脚q。+d2,q2。+…+口。』q。。(歹一i+1,i+2,…,7规)。在核1中计算:“州一(ai+l,qi)ri,i+2(0li+2,qi),…,n一一(劬,g,),A=ceil(_m--矿i);在核2中计算:nB一(%,gi)∥加+t一(O'B+1,qi),…,,一ic一(%,gi);B—ceil(m_厂--i)+1,c一2*ceil(m_厂--i);在核户中计算:r:x一(口x,g。),“x+,_(颤¨,¨,…∽y_。ngf)Ⅸ叫户_1)*ceil(等),y=m。

(3)多核并行计算d,一aj--q以,(歹一2,3,…,优)。与(1)、(2)类似,可把aj-一-aj--qm,(歹一2,3,…,77z)按计算载荷平均的原则分配到核1~核P中并行计算。

3算法的性z月,.匕la测试

在IntelXeonE5450四核3.0GHzCPU(每个核心的一级缓存各由32KB数据缓存和32KB指令缓存组成,二级缓存容量为12MB,)、KingStonDDR31333MHZ4GB内存及RedHatEnterpriseLinux6.1操作系统的环境中对上述算法进行了模拟,程序采用OpenMP和C++语言进行编写呼8:。

为了节省存储空问,式(1)中矩阵A按如下规则产生踟

I以,i一歹,

A一(口i,)。×7l—ll下一≠7。i+i.,.i,J一0,1,…,扎一1。

实验结果如表1所示,实验数据表明,四核G—S正交化的矩阵QR并行分解比单核串行分解在运算速度上提高了近60%。

qr分解 论文呢

期黄丽嫦等:基于Gram—Schmidt正交法的矩阵并行QR分解算法

表]单核G—S正交化的矩阵QR串行分解与四核G—S正交化的矩阵QR并行分解的耗时比较

4结语

本文在PC多核微机上设计实现了一种基于Gram—Schmidt正交法的矩阵QR多核并行分解算法,新算法具有易于实现和并行性高的特点,理论分析及相关实验均表明了它的有效性。

参考文献:

[1]张宝琳.数值并行计算原理与方法[M].北京:国防工业出版社.1999:93.

E2]张艳,孙世新.网络并行计算中矩阵QR分解的并行算法[J].计算机应用,2000,20(10):29—32.

[3]陈政洪,郁松年.一个基于QR分解的并行原一对偶内点算法[J].应用科学学报,2004,22(4):549—552.

[4]陈一呜,杨爱民.肖晓丹,等.机群系统中矩阵的并行QR分解算法[J].燕山大学学报,2007,31(3):225—228.[5]罗家洪.矩阵分析引论[M].3版.广州:华南理工大学出版社,2004:40.

[6]程云鹏.矩阵论[M].3版.西安:西北工业大学出版社,2001:203.

[7]周伟明.多核计算与程序设计[M].武汉:华中科技大学出版社,2009:75.

[8]武汉大学多核架构与编程课程组.多核架构与编程技术[M].武汉:武汉大学出版社,2010:23.

[9]尚月强.局域网上求解线性方程组的~种并行Gauss—Seidel迭代算法研究[J].计算机应用与软件,2008,25(9)

245—247.

【责任编辑:王桂珍foshanwgzh@163.coml

TheGram—-SchmidtbasedorthogonalmethodformatrixesparallelQRdecompositionalgorithm

HUANGLi—chang,HUANGRun

(DepartmentofComputer,FoshanPolytechnic,Foshan528137,China)

Abstract:Inthispaper,weanalyzedtheorthogonalizationprocedureoflinearindependentvectorgroupsandtheQRdecompositionprincipleofmatrixesanddesignedaGram—SchmidtbasedorthogonalmethodformatrixesparallelQRdecompositionalgorithm.Thealgorithmpresentedinthispaperprovedtobeeasytoimplementcomputerprogrammingandhavegoodparallelproperty.Keywords:Gram—Schmidtorthogonalmethod;QRdecomposition;multi—coreparallelalgorithm●

qr分解 论文呢

基于Gram-Schmidt正交法的矩阵并行QR分解算法作者:

作者单位:

刊名:

英文刊名:

年,卷(期):黄丽嫦, 黄润, HUANG Li-chang, HUANG Run佛山职业技术学院计算机系,广东佛山,528137佛山科学技术学院学报(自然科学版)Journal of Foshan University(Natural Science Edition)2013,31(3)

1.张宝琳 数值并行计算原理与方法 1999

2.张艳.孙世新 网络并行计算中矩阵QR分解的并行算法 2000(10)

3.陈政洪.郁松年 一个基于QR分解的并行原-对偶内点算法 2004(04)

4.陈一鸣.杨爱民.肖晓丹 机群系统中矩阵的并行QR分解算法 2007(03)

5.罗家洪 矩阵分析引论 2004

6.程云鹏 矩阵论 2001

7.周伟明 多核计算与程序设计 2009

8.武汉大学多核架构与编程课程组 多核架构与编程技术 2010

9.尚月强 局域网上求解线性方程组的一种并行Gauss-Seidel迭代算法研究 2008(09)

本文链接:http://www.77cn.com.cn/Periodical_fskxjsxyxb201303010.aspx

本文来源:https://www.bwwdw.com/article/yndi.html

Top