数组学习之特殊矩阵的压缩存储

一.为什么压缩存储?

1.在计算机中矩阵用二维数组来表示是最自然的方式。
2.但是在数值分析中经常出现一些阶数很高的矩阵,同时在矩阵中有很多值相同的元素或者为0的元素。
3.所以有时我们为了节省空间需要对这些矩阵进行压缩存储。

4.当我们想要压缩的矩阵的数值分布具有一定的规律时我们才可能去实现压缩存储。

二.此类矩阵主要包括三类:

1.对称矩阵
对于它我们只需要记住一条规则:
若n阶(n*n)矩阵A中的元素满足下述性质时,他就是对称矩阵:a(i,j)=a(j,i)

因此我们可以对它进行压缩存储:可以将n*n个元素压缩到n(n+1)/2个存储空间中去。
例子:
数组学习之特殊矩阵的压缩存储

2.三角矩阵
以主对角线划分,三角矩阵分为:
上三角矩阵:矩阵下三角(不包括对角线)中的元素均为常数c的n阶矩阵
数组学习之特殊矩阵的压缩存储
下三角矩阵反之。

3.对角矩阵
对角矩阵除了主对角线上和直接在对角线上,下方若干条对角线上的元素外,其他的元素都为零。
如图:
数组学习之特殊矩阵的压缩存储

我们可以通过这些矩阵的规律进行压缩。