三对角矩阵算法

来自testwiki
imported>Freddy6456452021年5月2日 (日) 05:27的版本 top
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

Template:NoteTA 三对角矩阵算法Template:Lang-en),又称为托马斯算法Template:Lang,名称源于英国数学家Template:Link-en)是数值线性代数中的一种算法,通过简化形式的高斯消元法求解三对角矩阵。包含n个未知数的三对角方程组可以写成

aixi1+bixi+cixi+1=di,

其中a1=0cn=0。写成矩阵形式则为

[b1c10a2b2c2a3b3cn10anbn][x1x2x3xn]=[d1d2d3dn].

高斯消去法在求解一般线性方程组时需要O(n3)时间复杂度,但对于三对角系统则只需O(n)复杂度。

方法

三对角矩阵算法可分为如下两步进行。第一步求解系数cidi

c'i={cibi;i=1cibiaic'i1;i=2,3,,n1

以及

d'i={dibi;i=1diaid'i1biaic'i1;i=2,3,,n.

第二步通过回代得到最终结果:

xn=d'n
xi=d'ic'ixi+1; i=n1,n2,,1.

参考文献