大量偏微分方程的离散形式是大规模线性代数方程组,其数值计算是科学工程计算的核心,占有绝大部分的总体运算时间,解大规模稀疏线性方程组的Krylov子空间方法显示出与众不同的有效性。当矩阵是对称正定时,常用的方法是具有短递推的共轭度方法(CG)。系数矩阵不对称时,常用的方法中有完全正交化方法(FOM)和广义最小参量方法(GMRES)。
还有很多迭代方法正在被人们发现和研究,新的有效的方法层出不穷,源^自#优尔/文-论/文]网[www.youerw.com,其中基于大型稀疏非Bermitian的正定阵的系数矩阵的Bermitian和Skew-Bermitian分裂的BSS方法,IBSS方法等具有非常好的实用性。
没有一种算法可以适用于所有问题,对于实际问题我们必须根据实际所得到的线性方程组的算法的特点选择合适的迭代方法。
MATLAB主要用于便矩阵的存取,其基本元素是无须定义维数的矩阵.MATLAB自问世以来,就是以数值计算称.MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”.经过十几年的完善和扩充,现已发展成为线性代数课程的重要工具,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的.MATLAB中包括了被称作工具箱.工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等.随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,MATLAB提供的工具箱已覆盖信号处理、系统控制、统计计算、优化计算、神经网络、小波分析、偏微分方程、模糊逻辑、动态系统模拟、系统辨识和符号运算等领域.当前它的使用范围涵盖了工业、电子、医疗、建筑等各行各业.
2、古典迭代法:
考虑线性方程组 Ay=b (1.1)
当A为低阶稠密矩阵时,用直接法是合适的,如果不考虑系数矩阵的结构,大型稀疏矩阵的直接法需要大量内存消耗,O(n3)的计算时间也让人无法接受。对于这样的矩阵,迭代法比较合适。迭代法一般涉及矩阵和向量的乘法运算。下面介绍各种古典迭代法,如Jacobi迭代法、Gauss-Seidel迭代法以及SOR迭代法等。
古典的迭代格式可以从矩阵的分裂角度推导,把求解线性方程组问题转化为求解线性方程组的不动点问题,在构造迭代格式。
将矩阵A分裂为: (1.2)
原线性方程组(1.1)等价于
(1.3)
构造迭代格式
(1.4)
其中初始向量 任意选取。由于每一次迭代都要解一个方程组,所以要求非奇异矩阵M的形势比较简单,如对角矩阵、下三角矩阵等。从下面讨论知道,当M是A的一个很好的估计时,估计值会很快收敛到原方程(1.1)的解。
由于收敛性分析的需要,讲(1.3)式表示为 浅谈线性方程组迭代求解(2):http://www.youerw.com/shuxue/lunwen_50965.html