计算方法小论文
实际消元时,akk 有可能为零或者很小, 导致计算中断或不稳定, 这时应该加上选主元策略, 通常使用列主元技巧, 即在元素 akk ,...ank 中选取绝对值最大者,该行与第 行交换,然后继续消元的过程。这 种方法称为列主元高斯消元法。此外,在实际计算时,对于特殊类型 的线性代数方程组,高斯消元有许多变形,如求解对称正定线性代 数方程组的 分解法;求解三对角线性代数方程组的追赶法等。 另外,对矩阵进行三角分解时,我们也可以将矩阵分解为上三角矩阵 和下三角矩阵的乘积, 这种非常规的矩阵分解有可能得到更好的计算 效果。 接下来讨论解线性方程组的迭代法。迭代法师将方程组的解看作 某种极限过程的向量极限的值,与非线性方程求解一样,极限过程是 用迭代过程完成的。在用迭代算法时,我们不可能将极限过程运算到 底, 只能讲迭代进行有限多次, 得到满足一定精度的方程组的近似解。 在科学与工程计算中,经常遇到大型稀疏线性代数方程组的求解问 题,对于这类问题,使用迭代法是较为恰当的。常用的迭代方法有雅
可比迭代法、高斯-赛德尔迭代法和松弛 迭代法。设线性方程组为 其中:
A (a ij ) n n , b ( bi ) n , x ( x i ) n , 给定 雅克比迭
代的计算公式为,对于
消元计算,对于 计算Fra biblioteka a /a , a a a a , j k 1,..., n,i k 1,..., n b b a b ,
ik ij ik kk ij ik kj i i ik k
回带计算,
n bn xn , xi (bi aijxj ) / aii, i n 1,...,2,1 ann j i 1
兴起与计算机的硬件环境、问题的规模是密切相关的。一搬来说, 等 同规模的线性方程组,直接法对计算机的要求高于迭代法。对于中等 规模的线性方程组阶数小于 ,一般采用直接法求解。对于高阶 方程组和系数稀疏的方程组,一般采用迭代法求解。
SOR 迭代是在高斯-赛德尔迭代的基础上,对前后两次迭代的结果 进行加权平均得到新的迭代值,即:
xi ( k 1) (1 ) xi ( k ) xi ( k 1) ,
这里ω称为松弛因子。若ω选择恰当,则迭代可以得到有效加速, 加 速最快的ω称为最优松弛因子,这通常需要经过实际的计算得到。 线性代数方程组的迭代法是否收敛由迭代矩阵的谱半径决定, 谱 半径定义为迭代矩阵特征值的按模最大值。设迭代矩阵为 ,通常用 ρ表示其谱半径。若ρ,则迭代方法 x( k 1)
i 1 n 1 (k) (k) (b i aijx j a ij x j ), i 1,2,..., n a ii j1 ji 1
xi
(k 1)
高斯-赛德尔迭代公式为,对于
xi
( k 1)
i 1 n 1 ( k 1) (k ) (bi aij x j a ij x j ), i 1,2,..., n aii j 1 j i 1
Bxk g
收
敛。应用迭代矩阵的谱半径判断迭代是否收敛最准确,但计算计算谱 半径需要花费大量的时间。 通常直接根据方程组系数矩阵的性质判定 迭代是否收敛。如果系数矩阵对角占优,则雅克比迭代和高斯-赛德 尔迭代均收敛。对于对称正定矩阵,若松弛因子ω∈,则 方 法收敛。 在数值计算的历史上,直接解法和迭代法交互发展,一种解法的
计算方法小论文
数值分析与计算方法, 是一门研究并解决数学问题的数值近似解 方法。计算机是数值计算方法最常用的工具,随着计算机技术的迅速 发展和普及,这门课程的应用也越来越广泛。这学期的计算方法课程 包含了插值、数值微分和数值积分、曲线拟合的最小二乘法、非线性 方程求根、解线性方程组的直接法和迭代法、计算矩阵的特征值和特 征向量、常微分方程的数值解等。 现在我想阐述一下对所学的解线性方程组方法的认识。 在线性代 数课程的学习中,我们知道克莱姆法则解的非常简洁的表达 式,该表达式虽然理论上完美,但由于计算量太大,通常无法用于实 际计算。实际计算通常使用直接法和迭代法。 直接法就是经过有限步算术运算求得方程组解的方法, 假定每一 步运算过程中没有舍入误差,那么最后得到的解就是精确解。但是在 实际计算中,完全消除舍入误差是不可能的,只能控制和约束误差的 增长和其带来的危害。虽然这样直接法带来的不是精确解,但在较短 的时间内获得此解,还是在可以接受的范围内。直接法主要包括高斯 消元法及其变形,如:高斯主元消去法、消元法。给定 线性代数方程组 Ax
b, A (aij ) n n Rn n, x, b Rn ,高斯消元
法主要包括消元和回带两个过程消元就是将系数矩阵经过行初等变 换为上三角形的线性代数方程组, 回带就是求解化简后的上三角形线 性代数方程组。 在编写程序时, 消元和回带均使用 A 和 b 的存储单元, 计算公式为: