Рекордные промежуточные результаты в сочувствии

#sympy

Вопрос:

Я выполняю некоторые операции над двумя матрицами в sympy и хочу записать, как был получен результат. Например, во isympy время сеанса:

 a = Matrix([[1, 0], [2, 1]])
b = Matrix([[1, 1], [0, 2]])

out = HadamardProduct(a,b).doit()
out = sum(out)
out
 

Выход:

 3
 

Вместо этого я хотел бы получить этот результат:

 1 * 1   0 * 1   2 * 0   1 * 2 = 3
 

Как мне отслеживать историю?

Ответ №1:

Похоже, это все:

 a = Matrix([[1, 0], [2, 1]])
b = Matrix([[1, 1], [0, 2]])

with evaluate(False):
    out = a.multiply_elementwise(b)
    out = sum(out)

Eq(out, out.simplify())
 

Выход:

 2⋅0   0⋅1   0   1⋅1   1⋅2 = 3