造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

对称矩阵相关应用

2018/06/19174 作者:佚名
导读: 矩阵的转置和对称矩阵 把一个m×n矩阵的行,列互换得到的n×m矩阵,称为A的转置矩阵,记为A'或AT。 (其中T为上标)1.(A')'=A2.(A+B)'=A'+B'3.(kA)'=kA'(k为实数)4.(AB)'=B'A'若矩阵A满足条件A=A',则称A为对称矩阵,由定义知对称矩阵一定是方阵,而且位于主对角线对称位置上的元素必对应相等.即aij=aji,对任意i,j都成立。

矩阵的转置和对称矩阵

把一个m×n矩阵的行,列互换得到的n×m矩阵,称为A的转置矩阵,记为A'或AT。 (其中T为上标)

1.(A')'=A

2.(A+B)'=A'+B'

3.(kA)'=kA'(k为实数)

4.(AB)'=B'A'

若矩阵A满足条件A=A',则称A为对称矩阵,由定义知对称矩阵一定是方阵,而且位于主对角线对称位置上的元素必对应相等.即aij=aji,对任意i,j都成立。

数据结构中的对称矩阵

1.对称矩阵

(1)对称矩阵

在一个n阶方阵A中,若元素满足下述性质:

aij=aji0≤i,j≤n-1

则称A为对称矩阵。

(2)对称矩阵的压缩存

对称矩阵中的元素关于主对角线对称,故只要存储矩阵中上三角或下三角中的元素,让每两个对称的元素共享一个存储空间。这样,能节约近一半的存储空间。

①按"行优先顺序"存储主对角线(包括对角线)以下的元素

即按a00,a10,a11,……,an-1,0,an-1,1…,an-1,n-1次序存放在一个向量sa[0..n(n+1)/2-1]中(下三角矩阵中,元素总数为n(n+1)/2)。

其中:

sa[0]=a00,

sa[1]=a10,

……,

sa[n(n+1)/2-1]=an-1,n-1

②元素aij的存放位置

aij元素前有i行(从第0行到第i-1行),一共有:

1+2+…+i=i×(i+1)/2个元素;

在第i行上,aij之前恰有j个元素(即ai0,ail,…,ai,j-1),因此有:

sa[i×(i+1)/2+j]=aij

③aij和sa[k]之间的对应关系:

若i≥j,k=i×(i+1)/2+j0≤k<n(n+1)/2

若i<j,k=j×(j+1)/2+i0≤k<n(n+1)/2

令I=max(i,j),J=min(i,j),则k和i,j的对应关系可统一为:

k=i×(i+1)/2+j0≤k<n(n+1)/2

(3)对称矩阵的地址计算公式

LOC(aij)=LOC(sa[k])

=LOC(sa[0])+k×d=LOC(sa[0])+[I×(I+1)/2+J]×d

通过下标变换公式,能立即找到矩阵元素aij在其压缩存储表示sa中的对应位置k。因此是随机存取结构。

【例】a21和a12均存储在sa[4]中,这是因为

k=I×(I+1)/2+J=2×(2+1)/2+1=4

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读