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