a1,1 a1,2
a2,1 a2,2 a2,3 0
a3,2 a3,3 a3,4
... ... ...
0 an-1,n-2 an-1,n-1 an-1,n
an,n-1 an,n
三对角矩阵指n阶方阵的非零元素ai,j聚集在主对角线及其两边的两条线上,即|i-j|≤1,其余位置均为0,如果使用二维数组进行存储,则会浪费大量空间,对此可以使用一维数组将其压缩存储。
其中元素总数为:2+3*(n-2)+2=3n-2,则可以定义一个一维数组B[3n-2],则ai,j在B中的位置为k(注意k从0开始)
则在ai,j之前的元素个数为
第1行:2
第2行:3
第3行:3
...
第i-1行:3
第i行:j-i+1
则k=2+3*(i-2)+j-i+1=2i+j-3
若已知k,则ai,j为
i=(k+1)/3+1,(k+1:向右偏移一个单位;3:每行3个元素;+1:i从1开始)
j=k-2i+3(由k的计算公式可得)