网站大量收购闲置独家精品文档,联系QQ:2885784924

并行计算矩阵特征值计算.docVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行计算矩阵特征值计算

9 矩阵特征值计算 在实际的工程计算中,经常会遇到求 n 阶方阵 A 的特征值(Eigenvalue)与特征向量(Eigenvector)的问题。对于一个方阵 A,如果数值 λ 使方程组 Ax=λx 即 (A-λIn )x=0 有非零解向量(Solution Vector)x,则称λ为方阵A的特征值,而非零向量x为特征 值λ所对应的特征向量,其中In 为n阶单位矩阵。 由于根据定义直接求矩阵特征值的过程比较复杂,因此在实际计算中,往往采取一些 数值方法。本章主要介绍求一般方阵绝对值最大的特征值的乘幂(Power)法、求对称方阵特 征值的雅可比法和单侧旋转(One-side Rotation)法以及求一般矩阵全部特征值的 QR 方法及 一些相关的并行算法。 1.1 求解矩阵最大特征值的乘幂法 1.1.1 乘幂法及其串行算法 在许多实际问题中,只需要计算绝对值最大的特征值,而并不需要求矩阵的全部特征值。 乘幂法是一种求矩阵绝对值最大的特征值的方法。记实方阵A的n个特征值为λi i=(1,2, …,n), 且满足: │λ1 │≥│λ2 │≥│λ3 │≥…≥│λn │ 特征值λi 对应的特征向量为xi 。乘幂法的做法是:①取n维非零向量v0 作为初始向量;②对于k=1,2, …,做如下迭代: 直至 u  k ?1 ? ? uk uk =Avk-1 vk = uk /║uk ║∞ ? ε为止,这时vk+1 就是A的绝对值最大的特征值λ1 所对应的特征向 ? 量x1 。若vk-1 与vk 的各个分量同号且成比例,则λ1 =║uk ║∞ ;若vk-1 与vk 的各个分量异号且成比 例,则λ1 = -║uk ║∞ 。若各取一次乘法和加法运算时间、一次除法运算时间、一次比较运算时 间为一个单位时间,则因为一轮计算要做一次矩阵向量相乘、一次求最大元操作和一次规格 化操作,所以下述乘幂法串行算法 21.1 的一轮计算时间为n2+2n=O(n2 )。 算法 21.1 单处理器上乘幂法求解矩阵最大特征值的算法 输入:系数矩阵An×n ,初始向量v n×1 ,ε 输出:最大的特征值 max Begin while (│diff│ε) do (1)for i=1 to n do (1.1)sum=0 (1.2)for j= 1 to n do sum=sum+a[i,j]*x[j] end for (1.3)b[i]= sum end for (2)max=│b[1]│ (3)for i=2 to n do if (│b[i]│max) then max=│b[i]│ end if end for (4)for i=1 to n do x[i] =b[i]/max end for (5)diff=max-oldmax , oldmax=max end while End 1.1.2 乘幂法并行算法 乘幂法求矩阵特征值由反复进行矩阵向量相乘来实现,因而可以采用矩阵向量相乘的数 据划分方法。设处理器个数为 p,对矩阵 A 按行划分为 p 块,每块含有连续的 m 行向量, 这里 m ? ?n / p? ,编号为 i 的处理器含有 A 的第 im 至第(i+1)m-1 行数据,(i=0,1, …,p-1),初 始向量 v 被广播给所有处理器。 各处理器并行地对存于局部存储器中 a 的行块和向量 v 做乘积操作,并求其 m 维结果 向量中的最大值 localmax,然后通过归约操作的求最大值运算得到整个 n 维结果向量中的最 大值 max 并广播给所有处理器,各处理器利用 max 进行规格化操作。最后通过扩展收集操 作将各处理器中的 m 维结果向量按处理器编号连接起来并广播给所有处理器,以进行下一 次迭代计算,直至收敛。具体算法框架描述如下: 算法 21.2 乘幂法求解矩阵最大特征值的并行算法 输入:系数矩阵An×n ,初始向量v n×1 ,ε 输出:最大的特征值 max Begin 对所有处理器 my_rank(my_rank=0,…, p-1)同时执行如下的算法: while (│diff│ε) do /* diff 为特征向量的各个分量新旧值之差的最大值*/ (1)for i=0 to m-1 do /*对所存的行计算特征向量的相应分量*/ (1.1)sum=0 (1.2)for j= 0 to n-1 do sum=sum+a[i,j]*x[j] end for (1.3)b[i]= sum end for (2)localmax=│b[0]│ /*对所计算的特征向量的相应分量 求新旧值之差的最大值 localmax */ (3)for i=1 to m-1 do if (│b[i]│localmax) then localma

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档