Próbuję zastąpić dwa symbole w moim równaniu dla postaci matrycowej każdego z nich.Jak zastąpić symbol macierzy za pomocą symPy i numPy
stworzyłem funkcję komutatora które utworzyły mój wyrażenie:
t, vS, = sy.symbols('t, vS', commutative = False)
hS = t + vS
eta = myComm(t,hS)
dHs = myComm(eta,hS)
print dHs.expand()
uzyskując prawidłową ekspresję chcę:
2*t*vS*t + t*vS**2 - t**2*vS - 2*vS*t*vS - vS*t**2 + vS**2*t
Więc teraz chcę zastąpić symbole T i VS z matryc, jednak kiedy używam podpórek, pojawia się błąd "unhashable type:" list "" Przypuszczam, że ma to związek z moją inicjalizacją macierzy lub z tym, jak należy je poprawnie zastąpić, ponieważ jestem nowy zarówno dla numPy, jak i dla symPy.
Reszta kodu:
tRel = ([e0, 0],[0,e1])
vtmp = ([v0, v1],[v2,v3])
dHs = dHs.subs(t, tRel)
dHs = dHs.subs(vS, vtmp)
print dHs
Spróbuj użyć 'MatrixSymbol'. – asmeurer