Я работаю с довольно большими разреженными матрицами матриц (от 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()