您的位置:首页 > 其它

Scipy中的稀疏矩阵--介绍

2014-11-27 16:05 162 查看

稀疏矩阵介绍

1 介绍

(稠密)矩阵是:

数学对象
存储二维数组的数据结构

重要特质:

所有元素内存一次性分配,在Numpy ndarray中通常是一个连续的块
快速访问单个元素

1.1 为什么使用稀疏矩阵?

内存增长速度为n^2
例子(双精度矩阵):

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0, 1e6, 10)
>>> plt.plot(x, 8.0 * (x**2) / 1e6, lw=5)
[<matplotlib.lines.Line2D object at ...>]
>>> plt.xlabel(’size n’)
<matplotlib.text.Text object at ...>
>>> plt.ylabel(’memory [MB]’)
<matplotlib.text.Text object at ...>

1.2 稀疏矩阵VS稀疏矩阵存储方案

稀疏矩阵是一个大部分元素为空的矩阵
存储所有的零元素是非常浪费的->仅存储非零元
考虑压缩
优势:节约大量内存
弊端:依赖于实际的存储方案,有时候不可行

1.3 典型应用

求解偏微分方程(PDEs):有限元方法、工程机械,电工,物理等
图理论
等等

1.4 先决条件

最新版本的:

numpy
scipy
matplotlib(可选)
ipython(功能强大)

1.5 稀疏结构可视化

matplotlib中的spy()
图例:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: