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

并行计算同步计算.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 三、同步迭代程序实例 用迭代法求解线性方程组 热分布问题 细胞自动机 用迭代法求解线性方程组 假设方程组为具有n个未知数 x0 , x1 , x2 , … xn-1 (0≤i n)的n个方程: a n-1,0 x 0 + a n-1,1 x 1 + a n-1,2 x 2 + … + a n-1,n-1 x n-1 = b n-1 ... a 2,0 x 0 + a 2,1 x 1 + a 2,2 x 2 + … + a 2,n-1 x n-1 = b 2 a 1,0 x 0 + a 1,1 x 1 + a 1,2 x 2 + … + a 1,n-1 x n-1 = b 1 a 0,0 x 0 + a 0,1 x 1 + a 0,2 x 2 + … + a 0,n-1 x n-1 = b 0 利用迭代法求出 n个未知数 x0 , x1 , x2 , … xn-1 (0≤i n)的值。 方程组中的第 i 个方程: a i,0 x 0 + a i,1 x 1 + a i,2 x 2 + … + a i,n-1 x n-1 = b i 变换为: x i = (bi - ∑ai,j xj ) / a i,i j≠i xit = (bi - ∑ai,j xjt-1) / a i,i j≠i Jacobi迭代公式为: 其中xit 和xit-1 分别为xi的第t次和t-1次迭代结果。 显然,所有xi (0≤ i n) 的值可以同时修改。 对求解线性方程组而言,有很多迭代公式。 对Jacobi迭代法的收敛条件 定义1: 如果矩阵 A=(ai, j)n×n 满足条件: | ai, i | ∑ | ai, j | ( i = 1, 2, …, n) j=1,n j≠i 即A的每一行对角元素的绝对值都严格大于同行其他元素绝对值之和,则称A为严格对角占优矩阵。 定理1:如果A为严格对角占优矩阵,则用Jacobi迭代法解线行方程组 AX = B 将收敛到正确解上。 迭代法的终止条件 1、| xit - xit-1 | 允许误差 2、√∑ ( xit - xit-1 ) 2 允许误差 i=0,n-1 3、| ∑ ai,j xjt-1 - bi | 允许误差 j=0,n-1 4、除对允许误差的考虑外,一般还应给出最大迭代次数,从而避免迭代过程可能无限进行下去。 顺序代码:终止条件只考虑最大迭代次数 for (i = 0; i n; i++) x[i] = b[i]; /*initialize unknown*/ for (iteration = 0; iteration limit; iteration++) { for (i = 0; i n; i++) { sum = -a[i][i] * x[i]; for (j = 0; j n; j++) /* compute summation */ sum = sum + a[i][j] * x[j]; new_x[i] = (b[i] - sum) / a[i][i]; } for (i = 0; i n; i++) x[i] = new_x[i]; } 相应的并行代码: x[i] = b[i]; /*initialize unknown*/ for (iteration = 0; iteration limit; iteration++) { sum = -a[i][i] * x[i]; for (j = 0; j n; j++) /*compute summation*/ sum = sum + a[i][j] * x[j]; new_x[i] = (b[i] - sum) / a[i][i];

文档评论(0)

wangjie111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档