Есть ли эффективный способ конкатенации матриц scipy.sparse?

Я работаю с довольно большими разреженными матрицами матриц (от 5000x5000 до 20000x20000) и мне необходимо найти эффективный способ гибкого объединения матриц, чтобы построить стохастическую матрицу из отдельных частей.

Сейчас я использую следующий способ объединения четырех матриц, но это ужасно неэффективно. Есть ли лучший способ сделать это без преобразования в плотную матрицу?

rmat[0:m1.shape[0],0:m1.shape[1]] = m1
rmat[m1.shape[0]:rmat.shape[0],m1.shape[1]:rmat.shape[1]] = m2
rmat[0:m1.shape[0],m1.shape[1]:rmat.shape[1]] = bridge
rmat[m1.shape[0]:rmat.shape[0],0:m1.shape[1]] = bridge.transpose()
34
задан Jonathan Leffler 28 July 2011 в 06:48
поделиться