Scipy---6.稀疏矩阵

Posted nxf-rabbit75

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scipy---6.稀疏矩阵相关的知识,希望对你有一定的参考价值。

1.稀疏矩阵是那些矩阵中大部分为零的矩阵。这种矩阵只用保存非零元素的相关信息,从而节约了内存的使用。scipy.sparse提供了多种表示稀疏矩阵的格式。scipy.sparse.lialg提供了对稀疏矩阵进行线性代数运算的函数。scipy.sparse.csgraph提供了对稀疏矩阵表示的图进行搜索的函数。

2.scipy.sparse中有多种表示稀疏矩阵的格式:

  • dok_matrix采用字典保存矩阵中的非零元素:字典的键是一个保存元素(行,列)信息的元组,对应的值为矩阵中位于(行,列)中的元素值。这种格式很适合单个元素的添加、删除、存取操作。通常先逐个添加非零元素,然后转换成其他支持高效运算的格式
  • lil_matrix采用两个列表保存非零元素。data保存每行中的非零元素,row保存非零元素所在的列。
  • coo_matrix采用三个数组row/col/data保存非零元素。这三个数组的长度相同,分别保存元素的行、列和元素值。coo_matrix不支持元素的存取和增删,一旦创建之后,除了将之转换成其他格式的矩阵,几乎无法对其进行任何操作和矩阵运算。

以上是关于Scipy---6.稀疏矩阵的主要内容,如果未能解决你的问题,请参考以下文章

关于稀疏矩阵三元组的转置

稀疏矩阵的运算

如何写成高性能的代码:巧用稀疏矩阵节省内存占用

如何写成高性能的代码:巧用稀疏矩阵节省内存占用

Python 稀疏矩阵访问元素

小代码 单链表之反转 然后交错重连+稀疏矩阵