松弛法
松弛法( relaxation method)是一种加速迭代方法,可视为高斯-赛德尔迭代法的推广,对于数值计算各种问题所采用的迭代法,均可起到加速收敛的作用。此外还有超松弛法、群松弛法、逐次超松弛法等改进的松弛方法。1
基本信息
- 中文名
松弛法
- 外文名
relaxation method
- 相关概念
松弛因子
- 分类
超松弛法(SOR法)、低松弛法
- 领域
数值分析
- 学科
数学
简介
松弛法是一种加速迭代方法,对于数值计算各种问题所采用的迭代法,均可起到加速收敛的作用。
此法产生于20世纪30年代,是基于变分思想的一种方法。其思想可描述如下: 假定把无重量的弹性弦拉成水平,然后在弦的一些点上加上负载,同时在每点上用与负载一样大的力向上拉,此时弦依然处于平衡状态,不产生弹性力,也没有位移。有规则地逐渐减小各点向上的拉力,位移与弹性力也随之产生,当各负载点向上的拉力减至零时,弦即处于松弛状态,最终得到各负载点的位移。拉力减小的过程,就是逐步逼近松弛状态的过程,松弛法由此得名。1
一般地,我们可以使用松弛法解线性方程组。但松弛法的应用不限于此,对于微分方程及其他问题数值求解也是有用的。1
此外还有超松弛法、群松弛法、逐次超松弛法等改进的松弛方法。1
定义
设线性代数方程组为
。雅可比迭代和高斯-赛德尔迭代,在满足收敛的充分条件时,尽管迭代过程是收敛的,但还存在收敛速度的问题。如果迭代法的收敛速度很慢,则会使计算的工作量过大。这时就必须寻求加速的方法。下面介绍的线性加速收敛的方法称为松弛法。2
以高斯-赛德尔迭代法为例。首先,由高斯-赛德尔迭代格式求得第
次迭代值
,即
然后计算这个第
次迭代值与第
次迭代值之差,即
。最后在第
次迭代值的基础上,直接加上这个差的一个倍数作为实际的第
次的迭代值,即![]()
综合以上过程,可以得到如下的迭代格式:
式中,
称为松弛因子。2
矩阵形式
设线性代数方程组为
。记
的对角线元素所成的对角矩阵为
,
,
和
分别为
的下三角形和上三角形矩阵,则
,故迭代格式也写为矩阵形式:
3
收敛性
迭代格式的矩阵形式可写成