首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个对角矩阵的压缩有关问题,非常有难度

2012-02-11 
一个对角矩阵的压缩问题,非常有难度一个n阶三对角矩阵a(i,j),其中1 i,j n,将其三条对角线上的元素逐行

一个对角矩阵的压缩问题,非常有难度
一个n阶三对角矩阵a(i,j),   其中1 <=i,j <=n,   将其三条对角线上的元素逐行存于向量B[1....3n-2]中,使得B[k]=a(i,j)
1.   用i,j表示k的下标变换公式.  
2.   用k表示i,j的下标变换公式.

其中第一问只能用一条数学式表示.

想了好久都没头绪,这些题要怎么做的?

[解决办法]
主对角线上方那条有j-i=1,主对角线有j-i=0,下方有j-i=-1,以行为索引
所以自然可得k=(3i-2)+(j-i);=> k=2i+j-2
反之当i=j时,k=3i-2=3(i-1)+1,当i=j+1时(下方那条),k=3i-1=3(i-1)+2,当i=j-1时,k=3(i-1)
所以用k除3取余,设商为x,余为y,y=0则B[k]=a[x+1][x],y=1,B[k]=a[x+1][x+1],y=2,B[k]=a[x+1][x+2]

热点排行