Source code for monalisa.sparse._sparse_mat_complete_matlab_sparse
"""Port of src/sparseMat/m/bmSparseMat_completeMatlabSparse.m."""
import scipy.sparse as sp
from monalisa._mat import vec
[docs]
def sparse_mat_complete_matlab_sparse(argSparse, mySize):
"""Pad a sparse matrix with empty rows/columns up to ``mySize``."""
m = sp.csc_matrix(argSparse)
b1, b2 = (int(s) for s in vec(mySize)[:2])
a1, a2 = m.shape
if b1 > a1 or b2 > a2:
m = sp.csc_matrix((m.data, m.indices, m.indptr), shape=(max(a1, b1), a2))
if b2 > a2:
m = sp.hstack([m, sp.csc_matrix((m.shape[0], b2 - a2))], format="csc")
return m