正在加载图片...
(2.3)if(s≠k)then 交换叫k和a[i end for (i)交换sh(1与 shifrin end if (24)if(1≠k)then (i)for广= k to n de 交换ak/与叫[l小 end for (i)交换bk与b (2.5)forj=k+l to n do q[k小=a[k]a[kk (2.6)b]=b[ka[kk,a[k]=1 (2. 7)for i=l to n de if(≠k)then (i)forj=k+l to n do q∥=[小-a[k*a[k end for (i)b=b小a[k]*b (i)a,k=0 d fo (3)for k-l to n do for i=l to n do if(shj(l=k)then输出xk的值 b[a end if end for End 122约当消去法的并行算法 约当消去法采用与高斯消去法相同的数据划分和选主元的方法。在并行消去过程中,首 先对主行元素作归一化操作ak=ak/ak(=k+1,…n),b=ba,然后将主行广播给所有处理 器,各处理器利用接收到的主行元素对其部分行向量做行变换。若以编号为 my rank的处 理器的第i行作为主行,在归一化操作之后,将它广播给所有处理器,则编号不为 my rank 的处理器利用主行对其第0,1,…m1行数据和子向量做变换,编号为 my rank的处理器利 用主行对其除ⅰ行以外的数据和子向量做变换(第ⅰ个子向量除外)。具体算法框架描述如 算法194约当消去法求解线性方程组的并行算法 输入:系数矩阵Anxn,常数向量bn×1 输出:解向量xnx(2.3)if (js ≠ k) then (i)for i=1 to n do 交换 a[i,k]和 a[i,js] end for (ii)交换 shift[k]与 shift[js] end if (2.4) if ( l ≠ k) then (i)forj=k to n do 交换 a[k,j]与 a[l,j] end for (ii)交换 b[k]与 b[l] end if (2.5) forj=k+1 to n do a[k,j]= a[k,j]/a[k,k] end for (2.6)b[k]= b[k]/a[k,k],a[k,k]=1 (2.7)for i=1 to n do if (I ≠ k) then (i)forj=k+1 to n do a[i,j]= a[i,j]- a[i,k]* a[k,j] end for (ii)b[i]= b[i]- a[i,k]* b[k] (iii)a[i,k]=0 end if end for end for (3)for k=1 to n do for i=1 to n do if (shift[i]=k) then 输出 x[k]的值 b[i] end if end for end for End 1.2.2 约当消去法的并行算法 约当消去法采用与高斯消去法相同的数据划分和选主元的方法。在并行消去过程中,首 先对主行元素作归一化操作 akj=akj/akk (j=k+1, …,n),bk= bk/akk ,然后将主行广播给所有处理 器,各处理器利用接收到的主行元素对其部分行向量做行变换。若以编号为 my_rank 的处 理器的第 i 行作为主行,在归一化操作之后,将它广播给所有处理器,则编号不为 my_rank 的处理器利用主行对其第 0,1, …, m-1 行数据和子向量做变换,编号为 my_rank 的处理器利 用主行对其除 i 行以外的数据和子向量做变换(第 i 个子向量除外)。具体算法框架描述如 下: 算法 19.4 约当消去法求解线性方程组的并行算法 输入:系数矩阵 An×n,常数向量 b n×1 输出:解向量 xn×1
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有