在不将整个矩阵读入内存的情况下对大型稀疏矩阵进行乘法和对角化

2024-04-20 09:58:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些非常大的稀疏矩阵(维数约为10亿)以COO格式存储,即行列表、列列表和相应的数据列表。它们占用的空间超过了可以一次读入集群内存的空间。我需要对这些矩阵执行一些运算,包括取乘积(两次),然后对结果进行对角化。你知道吗

对于较小的矩阵(对于类似的问题),我将行、列和数据转换为csr格式,通过'*'相乘,然后使用scipy.sparse.eigsh公司. 你知道吗

我想知道在Python中,或者在另一种语言中,是否有一种方法可以将这些矩阵相乘和对角化,即一次读入一片行、列和数据列表。你知道吗

在对角化方面,我只需要找到前几个(比如说五个)最低的特征值。你知道吗


Tags: 数据内存列表格式空间集群矩阵scipy