正在加载图片...
(2)for i=0 to n-l de (1)sm{0}=0,sm[1]=0,sm[2]=0 (i)计算本处理器所存的列子向量a[*,门、a[*,门的内积赋值给s{O] (i)计算本处理器所存的列子向量a[*,小、a*,引的内积赋值给s (iV)计算本处理器所存的列子向量a[*小、叫[*,月的内积赋值给s2 (v)通过规约操作实现 ①计算所有处理器中s0]的和赋给sm[0] ②计算所有处理器中s1]的和赋给sm[1 ③计算所有处理器中s2]的和赋给sm{2] ④将sm[0]、sm[1l、sm[2]的值广播到所有处理器中 (vi(|smn(0)|>e)then/各个处理器并行进行对i和j列正交化* ①a=2*sm0 ③n=sqgr(aa°a+b*bb) ④if(b>=0)t -sqrt(bb+rr)/(2*rr) (7-bb)/(2+) nd if ⑤for=0tog-lde templ]=c alv, i+s alv,jI av=(-s)*alv, i+c*alv,j ⑥fory=0 to=-l de templ[v]=c*e[v, i+s*e[v,jI cell,jI a[v, i=tempo] ⑧for1=0 to=-l d ev于}= templ[y fe ⑨k=k+1 end if 0号处理器从其余各处理器中接收子矩阵a和e,得到经过变换的矩阵A和I: /*0号处理器负责计算特征值* (b) for i=l to n de(2)for i=0 to n-1 do (2.1)for j=i+1 to n-1 do (i)sum[0]=0, sum[1]=0, sum[2]=0 (ii)计算本处理器所存的列子向量 a[*, i]、a[*, j]的内积赋值给 ss[0] (iii)计算本处理器所存的列子向量 a[*, i]、a[*, i]的内积赋值给 ss[1] (iv)计算本处理器所存的列子向量 a[*, j]、a[*, j]的内积赋值给 ss[2] (v)通过规约操作实现: ①计算所有处理器中 ss[0]的和赋给 sum [0] ②计算所有处理器中 ss[1]的和赋给 sum [1] ③计算所有处理器中 ss[2]的和赋给 sum[2] ④将 sum [0]、sum [1]、sum [2] 的值广播到所有处理器中 (vi)if (│sum(0)│>e ) then /*各个处理器并行进行对 i 和 j 列正交化*/ ①aa=2*sum[0] ②bb=sum[1]-sum[2] ③rr=sqrt(aa*aa+bb*bb) ④if (bb>=0) then c=sqrt((bb+rr)/(2*rr)) s=aa/(2*rr*c) else s=sqrt((rr-bb)/(2*rr)) c=aa/(2*rr*s) end if ⑤for v=0 to q-1 do temp[v]=c*a[v, i]+s*a[v, j] a[v, j]=(-s)*a[v, i]+c*a[v, j] end for ⑥for v=0 to z-1 do temp1[v]=c*e[v, i]+s*e[v, j] e[v,j]=(-s)*e[v, i]+c*e[v, j] end for ⑦for v=0 to q-1 do a[v,i]=temp[v] end for ⑧for v=0 to z-1 do e[v,i]=temp1[v] end for ⑨k= k+1 end if end for end for end while 0 号处理器从其余各处理器中接收子矩阵 a 和 e,得到经过变换的矩阵 A 和 I: /*0 号处理器负责计算特征值*/ (b) for i=1 to n do
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有