Sparse Matrices to Python from Matlab
Matlab sparse matrices are among the classes that Matlab cannot pass to Python. The workaround requires enough RAM to hold the full matrix to pass to and from Python.
- convert Matlab sparse to full
- process sparse data in Python
- convert Python sparse to full
All commands are issued in Matlab.
A = sparse(eye(5)); % test data
As = py.scipy.sparse.csc_matrix(full(A))
results in:
As =
Python csc_matrix with properties:
dtype: [1×1 py.numpy.dtype]
has_canonical_format: 1
has_sorted_indices: 1
nnz: [1×1 py.int]
shape: [1×2 py.tuple]
maxprint: [1×1 py.int]
indptr: [1×1 py.numpy.ndarray]
indices: [1×1 py.numpy.ndarray]
data: [1×1 py.numpy.ndarray]
(0, 0) 1.0
(1, 1) 1.0
(2, 2) 1.0
(3, 3) 1.0
(4, 4) 1.0