在wiki上的Fortran TDMA算法



我最近访问了维基网站:

https://en.wikibooks.org/wiki/Algorithm_Implementation/Linear_Algebra/Tridiagonal_matrix_algorithm Fortran_90

它说a,b,c是子对角线,对角线和超对角线。如果n是b的大小,那么a和c的大小不是n-1吗?通过检查可以清楚地看到,c(1)和c(n)都被访问了,这与我描述的大小相矛盾。

这是怎么回事?这个算法错了吗?我假设的矩阵大小是错的吗?这个算法的输入矩阵是什么样的?

任何帮助都非常感谢!

cp(n)的计算只是为了避免一个尴尬的if语句——它从不用于确定x。因此,c(n)并没有真正被使用。

a(1)也未使用,如预期的。

最新更新