Sympy имеет класс BlockMatrix, но это не обычный Matrix, Например, вы не можете умножить матрицу BlockMatrix. BlockMatrix - это удобный способ построения структурированной матрицы, но я не вижу способа использовать ее с неструктурированными матрицами. Есть ли способ сгладить BlockMatrix или другой удобный способ построить обычный Matrix из блоков, аналогично numpy.blocks?
BlockMatrix
Matrix
numpy.blocks
Вы можете использовать метод as_explicit(), чтобы получить плоскую явную матрицу, например:
as_explicit()
from sympy import * n = 3 X = Identity(n) Y = Identity(n) Z = Identity(n) W = Identity(n) R = BlockMatrix([[X,Y],[Z,W]]) print (R.as_explicit())