У меня есть 2 матрицы, первая из которых разреженная с целыми коэффициентами.
import sympy
A = sympy.eye(2)
A.row_op(1, lambda v, j: v + 2*A[0, j])
Вторая - символическая, и я выполняю между ними операцию:
M = MatrixSymbol('M', 2, 1)
X = A * M + A.col(1)
Теперь мне бы хотелось получить поэлементные уравнения:
X_{0,0} = A_{0,0}
X_{0,1} = 2*A_{0,0} + A_{0,1}
Один из способов сделать это - указать матрицу в sympy
, где каждый элемент является отдельным символом:
rows = []
for i in range(shape[0]):
col = []
for j in range(shape[1]):
col.append(Symbol('%s_{%s,%d}' % (name,i,j)))
rows.append(col)
M = sympy.Matrix(rows)
Есть ли способ сделать это с помощью MatrixSymbol
выше, а затем получить результирующие поэлементные уравнения?