对角矩阵压缩算法
首先了解对角矩阵,我们把对角矩阵这样定义:若一个n阶方阵A满足其所有非零元素都集中在以主对角为中心的带状区域中,则称其为n阶对角矩阵。
对角矩阵的压缩分为两种不同的情况:
1、带宽b=1时,也就是说只有一条带子,第一行(列)最后一行(列)都只有两个元素,就像下面这样

这种情况按行储存:
a[i][j]=2+(I-1)3+(j-(i-b))
a[i][j]=2i+j
2、b!=1,且b<n/2的情况,也就是非上述情况的对角矩阵,这种情况就需要按需分行排列和列排列
行排列:a[i][j]=1+b+(i-1)(b+2)+ (j-(i-b))=k
列排列:a[i][j]=1+b+(j-1)*(b+2)+(i-(j-b))=k
浙公网安备 33010602011771号