六、 稀疏矩阵
稀疏矩阵是那些矩阵中大部分为零的矩阵。这种矩阵只用保存非零元素的相关信息,从而节约了内存的使用。
scipy.sparse
提供了多种表示稀疏矩阵的格式。scipy.sparse.lialg
提供了对稀疏矩阵进行线性代数运算的函数。scipy.sparse.csgraph
提供了对稀疏矩阵表示的图进行搜索的函数。scipy.sparse
中有多种表示稀疏矩阵的格式:dok_matrix
:采用字典保存矩阵中的非零元素:字典的键是一个保存元素(行,列)信息的元组,对应的值为矩阵中位于(行,列)中的元素值。这种格式很适合单个元素的添加、删除、存取操作。通常先逐个添加非零元素,然后转换成其他支持高效运算的格式lil_matrix
:采用两个列表保存非零元素。data
保存每行中的非零元素,row
保存非零元素所在的列。coo_matrix
:采用三个数组row/col/data
保存非零元素。这三个数组的长度相同,分别保存元素的行、列和元素值。coo_matrix
不支持元素的存取和增删,一旦创建之后,除了将之转换成其他格式的矩阵,几乎无法对其进行任何操作和矩阵运算。