
上QQ阅读APP看书,第一时间看更新
3.8 稀疏矩阵-sparse
与本节内容对应的Notebook为:03-scipy/scipy-810-sparse.ipynb。
在科学与工程领域求解线性模型时经常出现许多大型的矩阵,这些矩阵中大部分的元素都为0,被称为稀疏矩阵。用NumPy的ndarray数组保存这样的矩阵会很浪费内存,由于矩阵的稀疏特性,可以通过只保存非零元素的相关信息,从而节约内存的使用。此外,针对这种特殊结构的矩阵设计运算函数,也可以提高矩阵的运算速度。
scipy.sparse中提供了多种表示稀疏矩阵的格式,scipy.sparse.linalg提供了对这些矩阵进行线性代数运算的函数,scipy.sparse.csgraph提供对用稀疏矩阵表示的图进行搜索的函数。本节首先介绍表示稀疏矩阵的各种格式,然后介绍如何使用csgraph中的函数搜索最佳路径,而在本书最后一章中会介绍使用稀疏矩阵的线性代数运算函数解决实际问题的例子。