私はそれぞれの行列の式に2つの記号を代入しようとしています。しかし、私は行列を持つシンボルのトンとVSを代用したいだから今symPyとnumPyを使って行列をシンボルに置き換える方法
2*t*vS*t + t*vS**2 - t**2*vS - 2*vS*t*vS - vS*t**2 + vS**2*t
:私が欲しい正しい発現を生じる
t, vS, = sy.symbols('t, vS', commutative = False)
hS = t + vS
eta = myComm(t,hS)
dHs = myComm(eta,hS)
print dHs.expand()
:
は、私は私の表現を形成整流子関数を作成しましたサブタイプを使用しているときにはエラーが発生します。「unhashable type: 'list'」numPyとsymPyの両方を初めて使用しているため、行列の初期化や適切な置換方法と関連があると仮定します。残りのコード:
tRel = ([e0, 0],[0,e1])
vtmp = ([v0, v1],[v2,v3])
dHs = dHs.subs(t, tRel)
dHs = dHs.subs(vS, vtmp)
print dHs
'MatrixSymbol'を使用してみてください。 – asmeurer