矩阵存储
Thursday, 15. June 2006, 08:10:03
一个 real(8) 类型,大小10000x10000的矩阵,占用的存储空间就是
10000**2*8/1024/1024 ~= 762.94Mbyte
工程分析中用到的矩阵往往是具有特殊性质的,比如对称、稀疏、N对角等等。如果将矩阵中所有元素一一记下,包括有意义的和无意义的(零元素),就会浪费太多空间,当然目前的计算机内存价格已经很低了,对于小规模的矩阵来说根本不需要考虑这个问题。但是以上面那个矩阵为例,对于个人计算来说,它的规模也不算小了,如果利用其可能的特殊性质进行存储和处理,往往会事半功倍。
如果是对称矩阵可以取上三角阵或者下三角阵存储,可以节省大于一半的空间。
如果是稀疏矩阵,只需要记录各非零元素的值及其所在的行列位置。
如果是N对角矩阵,只需按照分别记录各个对角线的位置以及其中的元素值即可。
由于矩阵数值运算方法和存储格式相关,所以具体使用的存储格式应该根据问题不同、求解器不同而灵活变通。








