严蔚敏 第5章 5.7题
设有三对角矩阵(Aij)n×n,将其三对角线上元素逐行存于数组B[3n-2]中,使B[k]=Aij
求: (1)用 i,j 表示k的下标变换公式
(2)用k表示i,j 的下标变换公式
(1)首先,第一行为两个元素,接下来的第二第三行等都为三个元素,所以对于aij来说,第i行之前有2+3(i-2)个元素
接着,当j-1=-1时,aij为第i行的第一个元素;当j-1=0时,aij为第i行的第二个元素;当j-1=1时,aij为第i行的第三个元素;
所以,aij为第i行的j-i+2个元素。
所以,aij为三对角矩阵的第2+3(i-2)+j-i+2=2i-j-2个元素,如果数组B从0开始存放,则k=2i-j-3
(2)易知i=(k+1)/3+1,那么J 呢?j=k+3-2i=k+3-2((k+1)/3+1)=k+1-2((k+1)/3)