Search code examples
pythonmatlabscipysparse-matrixmat-file

Exporting a Scipy sparse matrix from Python2.7 to Matlab?


I have a very large Scipy sparse (csr) matrix. I can't use M.toarray() since it triggers ValueError: array is too big. Is there a way of saving a Scipy sparse matrix in Python to be read in Matlab? I need some tools that are available in Matlab.


Solution

  • Scipy's Mat file format tools support sparse matrices:

    from scipy import sparse, io
    m = sparse.rand(50000,50000,density=1e-8)
    io.savemat('dump.mat', dict(m=m))
    

    And in matlab:

    >> load dump