Better BlockDiagonalMatrix