三对角矩阵的压缩

三对角矩阵,从第二行开始选中的元素的个数都为3个。对于a[i,j]将要存储的位置k,
首先前(i-1)行元素的个数是(i-2)*3 +2(第一行元素的个数为2),又a[i,j]属于第i行
被选中元素的第j-i+1个元素,所以k= (i-2)*3 +2 + j-i+1 = 2*i+j-3

如果知道了k,那么

i = [(k+1)/3] + 1
j = [(k+1)/3] + (k+1)%3

可以尝试的试出来(每一行最多选中3个元素,和3肯定是脱不了关系。其他对角矩阵同理),反正我是试出来了!

posted @ 2015-07-11 23:02  hjzqyx  阅读(4388)  评论(0编辑  收藏  举报