Python 利用压缩稀疏列(CSC)格式在Matlab中构造稀疏矩阵
我在Python中有一个大的稀疏矩阵(约50亿个非零值),存储格式为。我需要在Matlab中将其作为稀疏矩阵打开。显然无法保存这种大小的数据(似乎限制在~5GB),因此我将其保存为hdf5文件,详细说明如下。但是,在matlab中打开它时遇到问题 给定这三个向量:Python 利用压缩稀疏列(CSC)格式在Matlab中构造稀疏矩阵,python,matlab,numpy,matrix,scipy,Python,Matlab,Numpy,Matrix,Scipy,我在Python中有一个大的稀疏矩阵(约50亿个非零值),存储格式为。我需要在Matlab中将其作为稀疏矩阵打开。显然无法保存这种大小的数据(似乎限制在~5GB),因此我将其保存为hdf5文件,详细说明如下。但是,在matlab中打开它时遇到问题 给定这三个向量:数据、索引、indptr,其含义是: 标准CSC表示法,其中列i的行索引 存储在索引[indptr[i]:indptr[i+1]]及其对应的 值存储在数据[indptr[i]:indptr[i+1]]中 如何在Matlab中构造此矩阵?
数据、索引、indptr
,其含义是:
标准CSC表示法,其中列i的行索引
存储在索引[indptr[i]:indptr[i+1]]及其对应的
值存储在数据[indptr[i]:indptr[i+1]]中
如何在Matlab中构造此矩阵?我可以用
h5read
在Matlab中打开这三个向量,没问题,但我不知道如何使用它们来构造稀疏矩阵。这不是我通常用来构造稀疏矩阵的sparse
命令的格式。作为权宜之计,我会尝试使用coo
格式、数据、行、列(调整为0/1索引开始)进行传输。它不会那么紧凑,但可能更兼容。和scipy
相比,MATLAB
似乎隐藏了很多稀疏格式的细节。@hpaulj这是一个巨大的帮助,谢谢。