- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
18线性方程组的迭代解法
8 线性方程组的迭代解法
在阶数较大、系数阵为稀疏阵的情况下,可以采用迭代法求解线性方程组。用迭代法(Iterative Method)求解线性方程组的优点是方法简单,便于编制计算机程序,但必须选取合适的迭代格式及初始向量,以使迭代过程尽快地收敛。迭代法根据迭代格式的不同分成雅可比(Jacobi)迭代、高斯-塞德尔(Gauss-Seidel)迭代和松弛(Relaxation)法等几种。在本节中,我们假设系数矩阵A的主对角线元素,且按行严格对角占优(Diagonal Donimant),即:
雅可比迭代
雅可比迭代及其串行算法
雅可比迭代的原理是:对于求解n阶线性方程组Ax=b,将原方程组的每一个方程ai1x1+ ai2x2+…+ ainxn= bi改写为未知向量x的分量的形式:
然后使用第k-1步所计算的变量xi(k -1)来计算第k步的xi(k)的值:
这里,xi(k)为第k次迭代得到的近似解向量x(k)= (x1 (k), x2(k) , …, xn(k) )T的第i个分量。取适当初始解向量x(0)代入上述迭代格式中,可得到x(1),再由x(1)得到x(2),依次迭代下去得到近似解向量序列{x(k)}。若原方程组的系数矩阵按行严格对角占优,则{x(k)}收敛于原方程组的解x。实际计算中,一般认为,当相邻两次的迭代值xi(k +1)与xi(k) i=(1,2, …,n)很接近时,xi(k +1)与准确解x中的分量xi也很接近。因此,一般用判断迭代是否收敛。如果取一次乘法和加法运算时间或一次比较运算时间为一个单位时间,则下述雅可比迭代算法20.1的一轮计算时间为n2+n=O(n2)。
算法20.1 单处理器上求解线性方程组雅可比迭代算法
输入:系数矩阵An×n,常数向量b n×1,ε,初始解向量xn×1
输出:解向量xn×1
Begin
(1)for i=1 to n do
xi=bi/aii
end for
(2)diff=ε
(3)while (diff ≥ ε) do
(3.1)diff=0
(3.2)for i=1 to n do
(i)newxi= bi
(ii)for j= 1 to n do
if (j ≠ i) then
newxi= newxi- aij xj
end if
end for
(iii)newxi= newxi/ aii
end for
(3.3)for i=1 to n do
(i)diff=max {diff, |newxi- xi|}
(ii)xi=newxi
end for
end while
End
雅可比迭代并行算法
A是一个n阶系数矩阵,b是n维向量,在求解线性方程组Ax=b时,若处理器个数为p,则可对矩阵A按行划分以实现雅可比迭代的并行计算。设矩阵被划分为p块,每块含有连续的m行向量,这里,编号为i的处理器含有A的第im至第(i+1)m-1行数据,同时向量b中下标为im至(i+1)m-1的元素也被分配至编号为i的处理器(i=0,1, …,p-1),初始解向量x被广播给所有处理器。
在迭代计算中,各处理器并行计算解向量x的各分量值,编号为i的处理器计算分量xim至x(i+1)m-1的新值。并求其分量中前后两次值的最大差localmax,然后通过归约操作的求最大值运算求得整个n维解向量中前后两次值的最大差max并广播给所有处理器。最后通过扩展收集操作将各处理器中的解向量按处理器编号连接起来并广播给所有处理器,以进行下一次迭代计算,直至收敛。具体算法框架描述如下:
算法20.2 求解线性方程组的雅可比迭代并行算法
输入:系数矩阵An×n,常数向量b n×1,ε,初始解向量xn×1
输出:解向量xn×1
Begin
对所有处理器my_rank(my_rank=0,…, p-1)同时执行如下的算法:
while (maxε) do
(1)for i=0 to m-1 do /*各个处理器由所存的行计算出解x的相应的分量*/
(1.1)sum=0.0
(1.2)for j=0 to n-1 do
if (j ≠ (my_rank*m+i)) then
sum=sum+a[i,j]*x[j]
end if
end for
(1.3)x1[i]=(b[i] - sum)/a[i,my_rank*m+i]
end for
(2)/*求出本处理器计算的x的相应的分量的新值与原值的差的最大值localmax */
localmax=│x1[0]-x[0]│
(3)for i=1 to m-1 do
if (│x1[i]-x[i] │localmax) then
localmax =│x1[i]-x[i] │
end if
end for
(4)用Allgather操作将x的所有分量的新值广
您可能关注的文档
- 104学测考情最前线数学科.DOC
- 101简章-国立勤益科技大学进修推广部.DOC
- 106年公务人员特种考试警察人员考试试题.PDF
- 106年环境科技论坛_议程说明.DOC
- 105家长说明会-繁星推荐(麦光辉主任)-东莞台商子弟学校.PPT
- 107协助一位小脑桥脑角肿瘤病患脱离呼吸器之照护过程The Nursing .PDF
- 106学年度统一入学测验(机械群专业科目一-机件原理)do .DOC
- 105新进教师之业务简介-台北护理健康大学教务处教学发展组-国立.PPT
- 10作业基金适用用途别科目.PDF
- 102年1月19~20日通行证,开车之与会来宾请持通行证进入校园.PDF
- 71《短歌行》教学设计统编版高一语文必修上册.docx
- 《使至塞上》课件 .ppt
- Unit1PeopleofAchievementReadingandThinking课件高中英语人教版选择性5.pptx
- Lesson34(课件)新概念英语第一册 2.pptx
- Unit1FestivalsandCelebrationsReadingforWriting课件高中英语人教版.pptx
- 《传统节日》优秀课件(共27张).ppt
- 2024年中考物理总复习课件第一单元走进物理世界【03】.pptx
- 江苏省扬州市2024-2025学年高三上学期期末检测政治试卷2.docx
- Unit8Howareyou1四年级英语下册译林版三起.pptx
- 四川省雅安中学2017-2018学年高二下学期期中考试化学试题.doc
文档评论(0)