篇首语:出门莫恨无人随,书中车马多如簇。本文由小编为大家整理,主要介绍了知识大全 特殊矩阵相关的知识,希望对你有一定的参考价值。
特殊矩阵
所谓特殊矩阵是指非零元素或零元素的分布有一定规律的矩阵 常见的有对称矩阵 三角矩阵和对角矩阵等 .对称矩阵( )对称矩阵 在一个n阶方阵A中 若元素满足下述性质 aij=aji ≤i j≤n 则称A为对称矩阵 【例】下图便是一个 阶对称矩阵
( )对称矩阵的压缩存储 对称矩阵中的元素关于主对角线对称 故只要存储矩阵中上三角或下三角中的元素 让每两个对称的元素共享一个存储空间 这样 能节约近一半的存储空间 ①按 行优先顺序 存储主对角线(包括对角线)以下的元素
即按a a a …… an an … an n 次序存放在一个向量sa[ ..n(n+ )/ ]中(下三角矩阵中 元素总数为n(n+ )/ ) 其中 sa[ ]= a sa[ ] = a …… sa[n(n+ )/ ]= an n ②元素aij的存放位置 aij元素前有i行(从第 行到第i 行) 一共有 + +…+i=i×(i+ )/ 个元素 在第i行上 aij之前恰有j个元素(即ai ail … ai j ) 因此有 sa[i×(i+ )/ +j]= aij ③aij和sa[k]之间的对应关系 若i≥j k=i×(i+ )/ +j ≤k<n(n+ )/ 若i<j k=j×(j+ )/ +i ≤k<n(n+ )/ 令I=max(i j) J=min(i j) 则k和i j的对应关系可统一为 k=i×(i+ )/ +j ≤k<n(n+ )/
( )对称矩阵的地址计算公式 LOC(aij)=LOC(sa[k]) =LOC(sa[ ])+k×d=LOC(sa[ ])+[I×(I+ )/ +J]×d 通过下标变换公式 能立即找到矩阵元素aij在其压缩存储表示sa中的对应位置k 因此是随机存取结构 【例】a 和a 均存储在sa[ ]中 这是因为 k=I×(I+ )/ +J= ×( + )/ + =
三角矩阵 ( )三角矩阵的划分 以主对角线划分 三角矩阵有上三角矩阵和下三角矩阵两种 ①上三角矩阵 如下图(a)所示 它的下三角(不包括主角线)中的元素均为常数c ②下三角矩阵 与上三角矩阵相反 它的主对角线上方均为常数c 如下图(b)所示 注意 在多数情况下 三角矩阵的常数c为零
( )三角矩阵的压缩存储 三角矩阵中的重复元素c可共享一个存储空间 其余的元素正好有n×(n+ )/ 个 因此 三角矩阵可压缩存储到向量sa[ ..n(n+ )/ ]中 其中c存放在向量的最后一个分量中 ① 上三角矩阵中aij和sa[k]之间的对应关系 上三角矩阵中 主对角线之上的第p行( ≤p<n)恰有n p个元素 按行优先顺序存放上三角矩阵中的元素aij时 aij元素前有i行(从第 行到第i 行) 一共有 (n )+(n )+(n )+…+(n i)=i×( n i+ )/ 个元素 在第i行上 aij之前恰有j i个元素(即aij ai j+l … ai j ) 因此有 sa[i×( n i+ )/ +j i]= aij 所以 ┌i×( n i+ )/ +j i 当i≤j k=│ └n×(n+ )/ 当i>j
②下三角矩阵中aij和sa[k]之间的对应关系 ┌i×(i+ )/ +j 当i≥j k=│ └n×(n+ )/ 当i<j 注意 三角矩阵的压缩存储结构是随机存取结构
.对角矩阵 所有的非零元素集中在以主对角线为中心的带状区域中 即除了主对角线和主对角线相邻两侧的若干条对角线上的元素之外 其余元素皆为零的矩阵为对角矩阵 【例】下图给出了一个三对角矩阵
其中 非零元素仅出现在主对角上(aii ≤i≤n ) 紧邻主对角线上面的那条对角线上(ai i+ ≤i≤n )和紧邻主对角线下面的那条对角线上(a i+ i ≤i≤n ) 当|i j|> 时 元素aij= 由此可知 一个k对角线矩阵(k为奇数)A是满足下述条件的矩阵 若|i j|>(k )/ 则元素aij= 对角矩阵可按行优先顺序或对角线的顺序 将其压缩存储到一个向量中 并且也能找到每个非零元素和向量下标的对应关系 具体【参见练习】
lishixinzhi/Article/program/sjjg/201311/23770