追赶法求解三对角方程组

追赶法基础理论

在数值计算中,对三次样条曲线插值和用差分方法求解常微分方程边值问题时,通常会遇到Ax=d三对角形式的方程组:

\begin{bmatrix} b_{1} & c_{1} & & & \\ a_{2} & b_{2} & c_{2} & & \\ & \ddots & \ddots & \ddots & \\ & & a_{n-1} & b_{n-1} & c_{n-1} \\ & & & a_{n} & b_{n} \end{bmatrix}\begin{bmatrix} x_{1}\\ x_{2}\\ \vdots \\ x_{n-1}\\ x_{n} \end{bmatrix}=\begin{bmatrix} d_{1}\\ d_{2}\\ \vdots \\ d_{n-1}\\ d_{n} \end{bmatrix} (1)

利用三对角矩阵的LU分解建立计算量更少的线性方程组求解公式,现将系数矩阵A进行克劳特分解,即A分解为下三角矩阵和单位上三角矩阵的乘积:

\begin{bmatrix} b_{1} & c_{1} & & & \\ a_{2} & b_{2} & c_{2} & & \\ & \ddots & \ddots & \ddots & \\ & & a_{n-1} & b_{n-1} & c_{n-1} \\ & & & a_{n} & b_{n} \end{bmatrix}=\begin{bmatrix} \alpha _{1} && & & \\ \gamma _{2} & \alpha _{2} & & & \\ & \ddots & \ddots & & \\ & & \gamma _{n-1} & \alpha _{n-1} & \\ & & & \gamma _{n} & \alpha _{n} \end{bmatrix}\begin{bmatrix} 1 & \beta _{1} & & & \\& 1 & \beta _{2} & & \\ && \ddots & \ddots & \\ & && 1 & \beta _{n-1} \\ & & & & 1 \end{bmatrix} (2)

计算\alpha _{i},\beta _{i},\gamma _{i},的公式:

\alpha _{1}=b_{1}\beta _{1}=c_{1}/b_{1}

\gamma _{i}=a_{i}\alpha _{i}=b_{i}-a_{i}\beta _{i-1}i=2,3,\cdots n; (3)

\beta _{i}=c_{i}/\alpha _{i}

求解Ax=d等价于求解Ly=d和Ux=y.

因而经过推导得到解三对角线性方程组的追赶法公式.

  • 计算\beta _{1}的递推公式:

\beta _{1}=c_{1}/b_{1}\beta _{i}=c_{i}/\left ( b_{i}-a_{i}\beta _{i-1} \right )i=2,3,\cdots n-1; (4)

  • 解Ly=d:

y _{1}=d_{1}/b_{1}y _{i}=\left ( d_{i}-a_{i}y_{i-1} \right )/\left ( b_{i}-a_{i}\beta _{i-1} \right )i=2,3,\cdots n; (5)

  • 解Ux=y:

x_{n}=y_{n}x _{i}= y_{i}-\beta_{i}x_{i+1}i=n-1,n-2,\cdots 1; (6)

整个求解过程是先有(4)式和(5)式计算\beta _{1}\rightarrow \beta _{2}\rightarrow\cdots \rightarrow \beta _{n-1}y _{1}\rightarrow y_{2}\rightarrow\cdots \rightarrow y _{n},这个过程称为由前到后“追”的过程;再由(6)式求出x _{n}\rightarrow x_{n-1}\rightarrow\cdots \rightarrow x _{1},这个过程是由后往前“赶”的过程,因此上述解法通常称为追赶法。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值