数值方法线性方程组的迭代法
- 格式:ppt
- 大小:719.50 KB
- 文档页数:36


希望对大家有所帮助,多谢您的浏览!
1 / 10 线性方程组的四种数值解法
(电子科技大学物理电子学院,四川 成都 610054)
摘要:本文介绍了四种求解线性方程组的数值解法: 雅克比迭代法、高斯赛德尔迭代法、高斯消去法和改进的平方根法的基本原理和算法流程,通过求解具体方程,对四种求解方法进行了对比。对于雅克比迭代法和高斯赛德尔迭代法,研究了两种算法对求解同一方程组的迭代效率差异,结果表明高斯赛德尔迭代法达到同样精度所需迭代次数较少。对于高斯消去法,通过选择列主元的方法提高算法的准确度,计算结果表明高斯消去法计算精确,且运算复杂度也不是很高。对于改进的平方根法,其运算复杂度低,但对于给定的方程组有着严苛的要求。
关键词:雅克比迭代法;高斯赛德尔迭代法;高斯消去法;改进的平方根法;线性方程组
引言
线性方程组的求解在日常生活和科研中有着极其重要的应用,但在实际运算中,当矩阵的维数较高时,用初等方法求解的计算复杂度随维数的增长非常快,因此,用数值方法求解线性方程组的重要性便显现出来。经典的求解线性方程组的方法一般分为两类:直接法和迭代法。前者例如高斯消去法,改进的平方根法等,后者的例子包括雅克比迭代法,高斯赛德尔迭代法等。这些方法的计算复杂度在可以接受的范围内,因此被广泛采用。一般来说,直接法对于阶数比较低的方程组比较有效;而后者对于比较大的方程组更有效。在实际计算中,几十万甚至几百万个未知数的方程组并不少见。在这些情况下,迭代法有无可比拟的优势。另外,使用迭代法可以根据不同的精度要求选择终止时间,因此比较灵活。在问题特别大的时候,计算机内存可能无法容纳被操作的矩阵,这给直接法带来很大的挑战。而对于迭代法,则可以将矩阵的某一部分读入内存进行操作,然后再操作另外部分。本文使用上述四种算法求解对应的方程组,验证各种算法的精确度和计算速度。
1 算法介绍
1.1 雅克比迭代法
1.1.1 算法理论
设线性方程组
线性方程组的4种迭代方法
雍龙泉
【摘 要】研究了线性方程组的4种迭代方法———Jacobi迭代、Gauss-Seidel
迭代、HSS迭代、Richardson迭代,给出了4种迭代方法收敛的充分条件。数值实验进一步表明,在大规模线性方程求解时,迭代矩阵谱半径的大小决定算法的收敛速度;在谱半径小于1的前提下,谱半径越小,则收敛速度越快。%Four
iterative methods to linear systems , such as Jacobi , Gauss-Seidel, HSS,
and Richard-son iterative , are studied , and sufficient conditions for the
convergence of these iterative methods are given . Numerical experiments
further show that the size of spectral radius of iterative matrix determines
convergence rate in solving large-scale linear systems .Under the premise
of spectral radius of iterative matrix less than 1, the smaller the spectral
radius , the faster convergence speed .
【期刊名称】《陕西理工学院学报(自然科学版)》
【年(卷),期】2016(032)005
【总页数】5页(P80-84)
【关键词】线性方程组;Jacobi迭代;Gauss-Seidel迭代;HSS迭代;Richardson迭代;谱半径
【作 者】雍龙泉
【作者单位】陕西理工大学数学与计算机科学学院,陕西汉中723000 【正文语种】中 文
数值分析--第三章--迭代法迭代⼀般⽅程:
本⽂实例⽅程组:
⼀.jacobi迭代法
从第i个⽅程组解出xi。 线性⽅程组Ax=b,先给定⼀组x的初始值,如[0,0,0],第⼀次迭代,⽤x2=0,x3=0带⼊第⼀个式⼦得到x1的第⼀次迭代结果,⽤x1=0,x3=0,带⼊第⼆个式⼦得到x2的第⼀次迭代结果,⽤x1=0,x2=0带⼊第三个式⼦得到x3的第⼀次迭代结果。得到第⼀次的x后,重复第⼀次的运算。
转化成⼀般的形式:(其中L是A的下三⾓部分,D是A的对⾓元素部分,U 是上三⾓部分)
得到迭代公式:
其中的矩阵B和向量f如何求得呢?
其实,矩阵B的计算也很简单,就是每⾏的元素/该⾏上的对⾓元素
⼆.Gauss-Seidel迭代法【收敛速度更快】
这个可以和jacobi法对⽐进⾏理解,我们以第⼆次迭代为例(这⾥的第⼀次迭代结果都⽤⼀样的,懒得去换)
从上表对⽐结果可以看出,Jacobi⽅法的第⼆次迭代的时候,都是从第⼀次迭代结果中,获取输⼊值。
上⼀次迭代结果[2.5,3.0,3.0],将这个结果带⼊上⾯式⼦1,得到x1=2.88,;将[2.5,3.0,3.0]替换成[2.88,3.0,3.0]带⼊第⼆个式⼦的运算,这⾥得到x2=1.95,所以把[2.88,3.0,3.0]替换成[2.88,1.95,3.0]输⼊第三个式⼦计算X3=1.0.这就完成了这⼀次的迭代,得到迭代结果[2.88,1.95,1.0],基于这个结果,开始下⼀次迭代。
特点:jacobi迭代法,需要存储,上⼀次的迭代结果,也要存储这⼀次的迭代结果,所以需要两组存储单元。
⽽Gauss-Seidel迭代法,每⼀次迭代得到的每⼀个式⼦得到的值,替换上⼀次迭代结果中的值即可。所以只需要⼀组存储单元。
转化成⼀般式:注意:第⼆个式⼦中的是k+1次迭代的第⼀个式⼦的值,不是第k次迭代得值。
计算过程同jacobi迭代法的类似
三.逐次超松弛法SOR法
上⾯仅仅通过实例说明,Jacobi和Seidel迭代的运算过程。并没有构造其⼀般的计算公式。Gauss-Seidel迭代法的⼀般公式:
数值线性代数方法及其应用
数值线性代数是一门研究线性代数问题在计算机中的数值解法的学科。它的应用广泛,包括物理学、工程学、经济学等领域。本文将介绍数值线性代数的一些基本方法,并探讨其在实际问题中的应用。
一、矩阵表示及基本运算
数值线性代数的基础是矩阵。矩阵可以表示线性方程组、向量空间等各种数学对象。在计算机中,矩阵的表示常采用二维数组的形式。矩阵的加法、乘法、转置等基本运算可以方便地在计算机中实现。
二、线性方程组求解
线性方程组是数值线性代数中的一个重要问题。常见的求解方法包括高斯消元法、LU分解法、迭代法等。高斯消元法通过消元和回代的过程来求解线性方程组,而LU分解法则通过将矩阵分解为下三角矩阵和上三角矩阵的乘积来简化求解过程。迭代法则通过不断逼近线性方程组的解来求解,常见的迭代法有Jacobi迭代法和Gauss-Seidel迭代法。
三、特征值与特征向量计算
特征值和特征向量是矩阵的重要性质。求解一个矩阵的特征值和特征向量可以帮助我们理解矩阵的行为和性质。常见的求解方法有幂法和QR方法。幂法通过迭代的方式来逼近矩阵的特征值和特征向量,而QR方法则通过将矩阵分解为正交矩阵和上三角矩阵的乘积来进行求解。
四、奇异值分解 奇异值分解是数值线性代数中的一个重要概念。它将一个矩阵分解为三个部分:一个正交矩阵、一个对角矩阵和另一个正交矩阵的转置。奇异值分解在数据降维、图像压缩等领域有广泛的应用。
五、应用案例分析
数值线性代数方法在实际问题中有广泛的应用。其中一个典型的应用是图像处理中的降噪问题。通过建立图像降噪的数学模型,可以使用数值线性代数方法来求解得到清晰的图像。另一个应用是网络分析中的节点排名问题。通过构建节点排名的数学模型,可以使用特征值和特征向量计算的方法来对网络节点进行排名。
六、总结
数值线性代数方法是计算机科学和应用数学中的重要分支。它提供了一系列求解线性代数问题的有效方法,并在许多实际问题的建模和求解中得到应用。通过深入学习和掌握数值线性代数方法,我们可以提高计算机程序的效率和精度,从而更好地解决实际问题。