若ij,则a1在下三角形中。a之前的行(从第0行至 第i-1行)一共有1+2++i=i(+1)2个元素,在第行上 a之前恰有个元素(即a02122.21),因此有: k=i(计+1)/2+j0k<n(n+1)/2 若,则a是在上三角矩阵中。因为a=a1,所以只要 交换上述对应关系式中的和j即可得到 k=j(+1)/2+i 0三k<n(n+1)/2 I=max(ij),J=min(j),则和ij对应关系可统 为 k=I*(I+1)2+J 0三k<n(n+1)/2
若i≧j,则ai j在下三角形中。 ai j之前的i行(从第0行到 第i-1行)一共有1+2+…+i=i(i+1)/2个元素,在第i行上, ai j之前恰有j个元素(即ai0,ai1,ai2,…,aij-1),因此有: k=i*(i+1)/2+j 0≦k<n(n+1)/2 若i<j,则aij是在上三角矩阵中。因为aij=aji,所以只要 交换上述对应关系式中的i和j即可得到: k=j*(j+1)/2+i 0≦ k<n(n+1)/2 令 I=max(i,j), J=min(i,j),则k和 i, j的对应关系可统 一为: k=I*(I+1)/2+J 0≦ k<n(n+1)/2
因此,a的地址可用下列式计算: LOC(aij=LoC(sakE) -LOC(Sa[OD+k d=LOC(sa[0+ (I+1)/2+J*d 有了上述的下标交换关系,对于任意给定一组下标 (i,j),均可在sak中找到矩阵元素an,反之,对所有 的k=0,1,2,n(n-1)2-1,都能确定sak]中的元素在矩阵 中的位置(ij)。由此,称san(n+1)/2为阶对称矩阵A的 压缩存储,见下图 a00a10a11a20 an-10 n-1n-1 k=0123 n(n-)/2 n(n-1)/2 例如a21和a12均存储在sa4中,这是因为 k=1*(H+1)2+J=2*(2+1)2+1=4
因此,aij的地址可用下列式计算: LOC(aij)=LOC(sa[k]) =LOC(sa[0])+k*d=LOC(sa[0]+[I*(I+1)/2+J]*d 有了上述的下标交换关系,对于任意给定一组下标 (i,j),均可在sa[k]中找到矩阵元素aij,反之,对所有 的k=0,1,2,…n(n-1)/2-1,都能确定sa[k]中的元素在矩阵 中的位置(i,j)。由此,称sa[n(n+1)/2]为阶对称矩阵A的 压缩存储,见下图: k=0 1 2 3 n(n-1)/2 n(n-1)/2-1 例如a21和a12均存储在 sa[4]中,这是因为 k=I*(I+1)/2+J=2*(2+1)/2+1=4 a00 a10 a11 a20 …… an-1 0 … … an-1,n-1
2、三角矩阵 以主对角线划分,三角矩阵有上三角和下三角两种 上三角矩阵如图所示,它的下三角(不包括主对角线 中的元素均为常数。下三角矩阵正好相反,它的主对 角线上方均为常数。在大多数情况下 三角矩阵常数为零。 aoo ao1 0n-1 a 0 a a a10 a11 00 n-In-I -10an-11 n-1 n-1 (a)上三角矩阵(b)下三角矩阵
以主对角线划分,三角矩阵有上三角和下三角两种。 上三角矩阵如图所示,它的下三角(不包括主对角线) 中的元素均为常数。下三角矩阵正好相反,它的主对 角线上方均为常数。在大多数情况下, 三角矩阵常数为零。 a00 a01 … a 0 n-1 a00 0 … 0 0 a11 … a 1 n-1 a10 a11 … 0 ………………….. …………….. 0 0 … a n-1 n-1 an-1 0 an-1 1 … an-1 n-1 (a)上三角矩阵 (b)下三角矩阵 2、三角矩阵
三角矩阵中的重复元素c可共享一个存储空间 其余的元素正好有n(n+1)/2个,因此,三角矩 阵可压缩存储到向量sa[0.n(n+1)/2]中,其中C 存放在向量的最后一个分量中 上三角矩阵中,主对角线之上的第p行(0sp<n) 恰有η-p个元素,按行优先顺序存放上三角矩阵 中的元素a时,a之前的行一共有 (n-p)=(2n-1+1)/ 个元素,在第行上,a前恰好有j个元素 ai;anj+14…aj-1。因此,sak和a的对应关系是 2n-+1)/2+ji当 g+12当1习
三角矩阵中的重复元素c可共享一个存储空间, 其余的元素正好有n(n+1)/2个,因此,三角矩 阵可压缩存储到向量sa[0..n(n+1)/2]中,其中c 存放在向量的最后一个分量中, 上三角矩阵中,主对角线之上的第p行(0≦p<n) 恰有n-p个元素,按行优先顺序存放上三角矩阵 中的元素aij时,aij之前的i行一共有 (n-p)=i(2n-i+1)/2 个元素,在第i行上,aij前恰好有j-i个元素: aij,aij+1,…aij-1。因此,sa[k]和aij的对应关系是: i(2n-i+1)/2+j-i 当i≦j n(n+1)/2 当i>j k=
下三角矩阵的存储和对称矩阵类似,sak]和a对应 关系是 1)2+ n(n+1)/2i>j 3、对角矩阵 对角矩阵中,所有的非零元素集中在以主对角线为 了中心的带状区域中,即除了主对角线和主对角线 相邻两侧的若干条对角线上的元素之外,其余元素 皆为零。下图给出了一个三对角矩阵, aoo aoa a10a11a12 a21a22a23 an-2n-3 an-2 n-2 an-4n-1 an-1 n-2 an n-1
下三角矩阵的存储和对称矩阵类似,sa[k]和aij对应 关系是: i(i+1)/2+j i≧j n(n+1)/2 i>j 3、对角矩阵 对角矩阵中,所有的非零元素集中在以主对角线为 了中心的带状区域中,即除了主对角线和主对角线 相邻两侧的若干条对角线上的元素之外,其余元素 皆为零。下图给出了一个三对角矩阵, a00 a01 a10 a11 a12 a21 a22 a23 …. ….. …. an-2 n-3 an-2 n-2 an-2 n-1 an-1 n-2 an-1 n-1 k=