论文部分内容阅读
在偏微分方程数值解中,常采用有限差分法、有限元法以及有限体积法等方法,其实质都是将连续的问题离散化,最后问题常归结为方程组的求解,比较常见的是大型线性方程组,非线性方程组也往往要转换成线性代数方程组的求解.因此对于数值求解偏微分方程而言‘,线代数方程组求解是非常重要的一环.方程组求解方法主要是数值代数研究的领域,对于偏微分方程数值解研究方向的科技人员而言,往往并不亲自去研究方程组的求解方法以及理论分析,而注重的是算法的使用、算法的结论以及算法的计算效果(计算精度、快慢等).本文写作目的即是对大型线代数方程组求解的各种方法进行讨论,理论与实践相结合,对一些尚不完善的理论问题进行深入分析,并选择Poisson方程差分格式对各种方法进行综合实验比对,提供求解方程组时算法选择的依据.在直接法部分,首先应该指出在条件数大小与病态/良态问题的关系、判断一个具体问题是否病态的理论分析方法等还有许多值得细致研究的问题,本文只就通常的数值分析教材中不明确或易混淆的一些地方进行了说明,并对一些理论问题进行了深入探讨,提出一些疑问.其次针对高斯列主元消去法进行了具体的理论与实践相结合的分析:对稠密矩阵进行了数值实验,对该算法适应方程组类型、可求解方程组的规模、计算速度、计算结果精度等问题给出了答案;分析了列主元消去法的舍入误差理论,给出了因舍入误差影响导致计算失效的一个例子,指出了舍入误差理论不完善的地方;针对典型的偏微分方程数值解中的Poisson方程问题进行了进一步实验,了解将连续问题经由差分格式离散化后产生的大型稀疏型方程组用直接法来编程求解的过程以及最后的计算效果.最后结合一维两点边值问题数值实验讨论了三对角方程组求解的追赶法.在迭代法一节,分析了各种基本迭代算法的收敛条件、收敛速度,为比较算法之间计算效果,仍采用Poisson方程问题对各种算法进行了数值实验综合比对.进一步地,针对Jacobi方法收敛速度慢的问题,本文给出了Jacobi方法结合Chebyshev半迭代算法,数值实验验证了它的计算速度和精度的提高;针对逐次超松弛(SOR)迭代法最优松弛因子在理论上很难找到的的问题,本文用非线性最小二乘法进行矩形区域上不同剖分下的数据拟合,得到最优松弛因子ω(n)的有理回归公式,并通过数值实验验证了它的精确性.最后又对共轭梯度法(CG法)进行了实验,将其与前面的直接法和各种迭代法进行了数值比较,表明该算法的高效性.