细长矩阵的块正交化方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
矩阵^厶x晰是非奇异的,再增加计算R=^f一1,它就是QR
分解所得到的上三角矩阵忌一。因为在很多科学计算中
91
表1 Q矩阵列正交偏离性
N 2
2**3
2**5
只需要得到列正交矩阵G。,所以算法中没有计算上三角 矩阵R。。
细长矩阵块正交化算法中(1)和(7)能从经典格拉姆一 施密特正交化方法中找到相应的计算部分,所以下面仅简 单估计(2)~(6)的计算复杂性。基于Given变换QR分解 来求解线性方程组式(11)总共需要2(k一1)3+1l(k一 1)2/2—13(k一1)/2个浮点操作,算法中(4)的计算需要 3(k+1)k/2+1个浮点操作,(5)需要点个浮点操作,所以增 加的浮点操作个数大约为:
关键词:格拉姆一施密特正交化方法;冗余计算;并行计算
Key words:Gram-Schmidt orthogonalization process!redundant computation;parallel computing doi:10.3969/j.issn.1007—130X.2010.04.025
3块正交化算法
3.1算法推导
从经典格拉姆一施密特正交化过程‘s3可以看出,对任意
恳一1,2,…,m,均有:
I
a¨ ·.I 一2厶yrf‰.田口·¨ ·i
(‘1l’)
f覃1
和
q¨一∑叩“
(2)
其中,口i是标量。 因为生成的矩阵Q,渤是列正交的,对任意忌=1,2,
…,m,有: (q“,q..^)=(g..¨q..i)=O,f=1,2,…,k一1(3) 由线性代数基本知识,对任意五=1,2’..·,m,均有;
针对目前的大规模并行计算,研究细长矩阵列向量正
交化的高效并行算法是必要的。原有的格拉姆一施密特正 交化方法的并行算法仅将串行算法进行简单并行,未充分 考虑通讯开销的影响,并行性能受限。由于它们计算时频 繁地计算向量的内积和范数,这就涉及到向量本身的全局 计算,它带来大量的全局通讯和全局同步。随着并行度的 增大,一方面全局通讯和同步的开销呈非线性增长,另一方 面计算向量内积和范数所需要的全局通讯和同步的次数并 未减少,因而全局通讯和同步会成为大规模并行的瓶颈。 并行算法的可扩展性会受到全局通讯和同步的限制。提高 算法的可扩展性就需要尽量减少全局通讯和全局同步的次 数。文献[2~6]提出的正交化方法基本上首先都是计算矩 阵的转置与矩阵的乘积,这样在并行计算时就可将向量的 内积一起计算,避免计算向量内积带来的大量的全局通讯 和同步,但它们在最后将各向垦规范化时计算量较大而且 需要一次全局通讯和同步。本文提出了一种与经典格拉姆 一施密特正交化方法在数学上等价的细长矩阵列向量正交
for Skinny Matrices
宋君强。龚西平.张理论。赵文涛,吴建平
jm-qt啦,GONG SONG
Xa-piIlg。ZItANG Li-lun。ZHAO Wen-tao。WU Jian-ping
(国防科学技术大学计算机学院。湖南长沙410073)
fScl)ool of Computer Science。National University of Defense Technology,Changsha 410073。China)
摘要:本文提出了一种与经典格拉姆一施密特正交化方法得到相同理论结果的细长矩阵的正交化方法。该方法在
增加部分冗余计算的情况下,将经典格拉姆一施密特正交化方法中的向量内积计算转换为可同时计算,使之更适合于并行
wk.baidu.com
计算。数值实验表明,该方法是正确的。
Abstract:This paper propclses an orthonormalization method which can get the same theoretical orthonormal results
(g.,i,q.,I)=(口..^,q..i)=0
(8)
和
(口.,i,q..1)=(口..I'a.,i)=0
(9)
万方数据
将式(6)中的否¨代入式(9),有:
k'-I
(口..Ⅲ.‘。t+∑町“j)=0
J暑1
将式(10)表示成矩阵向量形式为:
(口..1酊..1)
缸..1’口..2)… Q.。l’口.州)
(n..2皿..1) Q.t2m..2)…Q..2啦.H)
i
i
i
(口.。卜l,a.。1)(口.,卜1.a..2)…(口..卜l,a。.卜1)
(10)
巨
a。.·)
a。.t)
求解线性方程组(11)就可得到否¨与式(2)类似的形
式:
^
~¨=∑o:iaq ··^2厶 o:ia。·.·i
(L1l2z)J
其中,劬,012,…,口卜1是线性方程组(11)的解,m=1。 将否¨进行归一化,最关键的是求它的范数,实际上
·收稿日期:2008-07.04;修订日期:2009—03—20 基金项目:国家科技支撵计划资助项目(2006BAC021300);国家自然科学基金资助项目(40505023,60803039)
作壹茸俞:宋君强(1962一).男.湖南宁乡人,研究员,博士生导师,研究方向为科学工程计算和并行算法;龚西平,博士。研究方向为 糟复if蔓:熟值算选塑大型软丝!堂理论!焦■副研蜜晏,研究方向为大规模并行计算;赵文涛,博士,副研究员,研究方向为流体力 堂和许行计算;吴建平,博士。副研究员,研究方向为科学一[=程计算和并行算法。
通讯地址:410073湖南省长沙市国防科学技术大学计算机学院软件所;Tel:13607489783;E-mail:Junqiang@nudt.edu.cn Address:Institute of Software,School of Computer Science,National University of Defense Technology,Changsha。HORBS 410073, P.比China
span(q.。1,q..2,…,q..·)2 span(n..1,口。.2,…,口..^) (4)
根据式(1)和式(3),对任意k=l,2,…,m,有:
(口“,q..★)=(口..I,a..‘)=0,i=1,2,…,奄一1(5) 自然,对任意屉=1.2'..·,m,q¨的计算过程可以分 为两步,首先计算:
4.1数值实验环境 本数值实验都是在HP机群上完成的,它由7个节点
(每个节点4CPU)组成,每个CPU为Itanium2 1.6GHz。 每个节点物理内存为4GB,swap交换空间为8GB。测试的 细长矩阵的元素均是随机生成的,所有计算均采用双精度。 4.2数值实验结果
块正交化方法产生的矩阵么。的列正交偏离性用
k--I
孔=“^+∑otla-.i,五=l,2'..·,仇 (6)
然后再将蚕¨进行归一化,就可得到q¨:
q..t一否..t/6孑..1 0
(7)
对任意忌=1,2'..·,m,q¨是否¨的归一化向量,所
以;“与q¨具有与q“(i一1,2,…,矗一1)和a“(i=
1.2,…,惫一1)相同的如式(3)和式(5)的正交性质,即:
可先求(云¨,面¨),有:
卢=(蚕¨,蚕“)=(∑叩“,∑m口“)=
i=l
l=1
I
卜l ^
∑a}(口¨,眠t)+∑∑2a“眠』(口..朋¨)(13)
i=1
ifIj=州
于是计算:
口i=a,/妇。i=1,2,…,k
(14)
就可得到式(2)中的系数,也就是说式(2)中的系数和式
(12)中的系数只差一个因子1/晒。至此可一次算出 a“(i=1,2,…,优)和aq(.『=i,i+1,…,m)的内积,然 后对任何惫=1,2,…,m根据式(11)~式(14)得到式(2)中 的系数,再根据矩阵与上三角矩阵乘得到所需要的标准正
有很多方法比如Householder变换法、Givens变换法 以及格拉姆一施密特正交化方法来实现矩阵A的QR分解, 从而得到矩阵Q,渤以及上三角矩阵R。砌。R表示成列向 量的形式为R=Er¨,...2…r.,。],其中r.ti= [,1.t r2.f.”r卅,t]r。在这里仅考虑其正交化得到的列向 量的标准正交基矩阵Q帕。。下面提出的方法称为块正交化 方法。
.苎L
>:((2(七一1)3+11(k一1)2/2—13(h一1)/2)+
k。‘=一l (3(愚+1)k/2+1)+志)=
2l'
>:2(k一1)3+7七2—15k+13一
t。。=一l
打14/2+优3—5M一13m/2 当m较小时候,算法1中(2)~(6)的浮点操作数目较 小,计算时间基本可以忽略。
4数值实验
CN43—1258/TP ISSN 1007—130X
计算机工程与科学
COMPUTER ENGINEERING&SCIENCE
文章编号:1007-130X(2010)04-0090-03
2010年第32卷第4期 V01.32,No.4。2010
细长矩阵的块正交化方法’
A Block Orthogonalization Procedure
90
万方数据
化方法。虽然该方法在计算量上与经典格拉姆一施密特正 交化方法相当,但不同的向量内积可以同时计算‘¨,这样它 就更适合于并行计算。
2问题引入
A,一∈辩加是细长矩阵。即m<<挖,并且它的列向 量是线性无关的。计算列向量的标准正交基矩阵Q一,其 中Q丁Q=L。。将矩阵A表示成列向量的形式为A= Ea..1 a..2…a..。],其中a..f=[口¨口2.f…“.i]了’。同 理,Q表示成列向量的形式为Q=[q.。1 q¨…q..。],其 中q¨一Eqltf q2.f…铂。i]7。
交基矩阵Q一。 3.2算法及复杂性
算法块正交化方法
(1)计算矩阵c:,。一(A。)rA脚
(2)Fork=1。2。…。m
(3)
如果k>1,求解线性方程cl;卜ltlI/r-lffl。卜l
=一Cl。卜lo;m 2 1;
(4)
,F 算 范 数 p = 。∑Ⅲ 口 口 C + H∑斛 。∑州 2 啦 C
卢=1/扫; (5)MhI一皿l。I,
with the traditional Grarn-Sehmidt ortho-gonalization process for skinny(10ng)matrices.The method lets the inner products
be computed at the same time as the traditional Gram-Schmidt orthogonalization process。and is more suitable for parallel computing based on 80me redundant computations.The experiments confirm the correctness of the method.
中图分类号:TP301
文献标识码:A
1 引言
计算线性无关向量的标准正交基是很多科学计算应用 的一个摹本问题£l】。行维数远远超过列维数的细长矩阵在 很多科学计算问题中出现,比如统计分析中观测量个数远 大于变鼍的个数时,用较少的向量来张成求解的子空间等。 计算细长矩阵列向量的标准正交基通常采用基于QR分解 的传统方法【2 ̄6]。QR分解主要通过Householder变换法、 Givens变换法和格拉姆一施密特正交化方法得到。在没有 舍入误差的情况下,格拉姆一施密特正交化方法得到的矩阵 Q和R与Given或Householder变换法得到的是一致的 (不计符号差别)。格拉姆一施密特正交化方法在数值上不 是很稳定,但它的良好计算特性使其在实际应用中被经常 使用。
Q&。Q一非对角最大元素的值来表示。表1是不同的押和 m时,Q§。Q胁非对角最大元素的值。表l中的值基本上
都是计算机的双精度的舍入误差所容许的值,说明产生的 矩阵么×埘在数值上是列正交的。表l结果表明,本文提到 的正交化方法是正确的。
5结束语
该算法是正确有效的。
(6) Enddo
(7)计算么跏=4::M砌 算法得到细长矩阵A,。的列向量的标准正交基矩阵
Q。,实际上如果在没有舍入误差的情况下,它就是A一
的OR分解的列正交矩阵Q。但是,该块正交化方法没得 到QR分解的上三角矩阵R湘,而是得到一个上三角矩阵
‰,它们满足Q洳=^×M。糯,并且‰是R,一的
逆。根据线性代数知识,如果A.Ⅺ,.是列满秩的。则上三角