SciPy中的稀疏矩阵由函数定义

时间:2011-04-29 22:03:08

标签: scipy sparse-matrix

是否可以从函数中定义scipy中的稀疏矩阵,而不是布置所有可能的值?在文档中,我看到可以通过

创建稀疏矩阵
There are seven available sparse matrix types:
 csc_matrix: Compressed Sparse Column format
 csr_matrix: Compressed Sparse Row format
 bsr_matrix: Block Sparse Row format
 lil_matrix: List of Lists format
 dok_matrix: Dictionary of Keys format
 coo_matrix: COOrdinate format (aka IJV, triplet format)
 dia_matrix: DIAgonal format

所有这些都迫使您事先指定矩阵,这会占用内存。有没有办法可以在需要时简单地提供一个函数来计算(i,j)?最终目标是通过类似Lanczos方法计算矩阵的几个最大特征向量。

1 个答案:

答案 0 :(得分:2)

简短的回答是" no",但我认为滚动你自己的矩阵式对象非常容易。如果您使用eigsh来获得答案(这似乎是Lanczos算法的实现。),那么您的矩阵式需要matvec(x)方法,这可能会也可能不容易。

我意识到这不是一个完整的答案,但我希望这会让你走上正轨。

相关问题