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()图例:
相关文章推荐
- scipy.sparse求稀疏矩阵前k个特征值
- Scipy 基础 —— 稀疏矩阵
- GPU上大规模稀疏矩阵特征值计算高效算法之一——GPU介绍
- python中scipy学习——随机稀疏矩阵及操作
- SciPy教程 - sparse module稀疏矩阵
- Python scipy.sparse 稀疏矩阵访问速度测试
- SciPy教程 - 稀疏矩阵库scipy.sparse
- scipy.sparse求稀疏矩阵前k个特征值
- SciPy教程 - 稀疏矩阵库scipy.sparse
- scipy.sparse中csc_martrix和csr_matrix两个稀疏矩阵的区别
- 稀疏矩阵的十字链表存储的思路
- 第九周 项目3-稀疏矩阵的三元表示的实现及应用(2)
- 稀疏矩阵的列序递增法和一次定位快速转置法
- 稀疏矩阵的顺序存储
- 矩阵的压缩存储————用三元组表存储稀疏矩阵
- 利用稀疏矩阵的“三元组表”存储结构,实现两个矩阵的相加。
- 稀疏表示介绍(下)
- 第9周 项目3 - 稀疏矩阵的三元组表示的实现及应用
- 数据结构实验之数组二:稀疏矩阵
- 三元组表压缩存储稀疏矩阵实现稀疏矩阵的快速转置(Java语言描述)