Я реализую поток обработки данных в Python.Я стараюсь максимально использовать символические вычисления (sympy
и numpy
), чтобы иметь четкую документацию в соответствии с кодом.Поэтому, когда я пытаюсь получить скалярное произведение и использовать его для реальных матриц (с помощью lambdify
), я получаю что-то еще:
import numpy as np
from sympy import *
init_printing()
A = Matrix([[1, 2], [1, 100]])
B = Matrix([[3, 4], [10, 1000]])
AA = MatrixSymbol('A',2,2)
BB = MatrixSymbol('B',2,2)
mulab = lambdify([AA,BB],AA*BB)
print(mulab(A,B))
print(A*B)
дает
[7, 1010, 406, 100020]
Matrix([[23, 2004], [1003, 100004]])
Ссылкак живой версии кода
Кто-нибудь сталкивался с подобными проблемами?Известны ли обходные пути?
Заранее спасибо.