- 1、本文档共136页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数值分析方法;第二章数值代数基础;;2.1线性方程组的直接解法;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3、递推化:把复杂的计算归结为简单过程的多次重复计算,易于用循环结构来实现(如迭代法);数值分析方法;第二章数值代数基础;;2.2向量和矩阵的范数;;;;;;;;;;;;;;;;;?;;?;;3、递推化:把复杂的计算归结为简单过程的多次重复计算,易于用循环结构来实现(如迭代法);数值分析方法;第二章数值代数基础;;2.3线性方程组的迭代解法;2.3.2迭代法的收敛条件;对线性方程组;?;2.3.3Jacobi迭代法;Jacobi迭代法的的矩阵表示;据此得到迭代公式为;?;由迭代公式得Jacobi迭代格式为;每次迭代充分利用当前必威体育精装版的迭代值,即在求第k+1次迭代时的第i个分量xi(k+1),用新分量x1(k+1),x2(k+1),...,xi-1(k+1)代替旧分量x1(k),x2(k),...,xi-1(k),在整个迭代过程中只要使用一组单元存放迭代向量,这样建立起来的迭代格式称为Gauss-Seidel迭代.其迭代法格式如下:;?;Gauss-Seidel迭代法的收敛性;其对应的Gauss-Seidel迭代矩阵为;例?给定线性方程组;(1)Jacobi迭代法的迭代格式为;(2)Gauss-Seidel迭代法的迭代格式为;定理2.14:线性方程组Ax=b的系数矩阵A为严格对角占优矩阵,则解此方程组的Jacobi法和Gauss-Seidel迭代法都是收敛的.;2.3.5超松弛迭代法(SOR方法);?;例用SOR迭代法解线性方程组;?;解:SOR法的迭代格式为;3、递推化:把复杂的计算归结为简单过程的多次重复计算,易于用循环结构来实现(如迭代法);数值分析方法;第二章数值代数基础;;2.4矩阵特征值计算;?;例??用幂法求解矩阵的按模最大特征值及其相应的特征向量,精确值;?;?;?;在反幂法中也可用原点位移来加速迭代或求其他特征值;例?求解矩阵A的给定近似特征值p=-13的特征值及其相应的特征向量,其中;2.4.2基于Householder变换的QR分解;例?试给出一个Householder矩阵;QR分解是工程中应用最为广泛的一类矩阵分解,它是将一个矩阵分解为正交矩阵Q和上三角矩阵R的乘积;第二步:
;?;QR算法;?;?;?;?;3、递推化:把复杂的计算归结为简单过程的多次重复计算,易于用循环结构来实现(如迭代法);数值分析方法;第二章数值代数基础;;2.5Python程序在数值代数中的应用;Gauss消去法;Gauss消去法;在Gauss消去法的基础上增加一个有哪些信誉好的足球投注网站列主值的步骤就得到了列主元素法;Doolittle分解;defback_sub_for_dool(L,U,b):
????rows,cols=L.shape
????y=np.zeros((rows,1),np.float64)
????foriinrange(rows):
????????s=0
????????forjinrange(i):
????????????s+=L[i,j]*y[j]
????????y[i]=(b[i]-s)
????x=np.zeros((rows,1),np.float64)
????foriinrange(rows-1,-1,-1):
????????s=0
????????forjinrange(i+1,rows):
????????????s+=U[i,j]*x[j]
????????x[i]=(y[i]-s)/U[i,i]
????returnx,y;对三对角矩阵可以直接应用Doolittle分解,也可以编程实现公式2.1.20-2.1.22:
deftridiagmatrixalg(A,f):
????rows,cols=A.shape
????u=np.zeros((rows,),dtype=np.float64)
????l=np.zeros((rows-1,),dtype=np.float64)
????a=[A[i+1,i]foriinrange(rows-1)]
????b=[A[i,i]foriinrange(rows)]
????c=[A[i,i+1]foriinrange(rows-1)]
????u[0]=b[0]
????foriinrange(1,rows):
????????l[i-1]=a[i-1]/u[i-1]
?
文档评论(0)