【发布时间】:2013-05-30 02:05:20
【问题描述】:
我试图用我的方程式中的两个符号来代替它们每个的矩阵形式。
我创建了一个形成我的表达式的换向器函数:
t, vS, = sy.symbols('t, vS', commutative = False)
hS = t + vS
eta = myComm(t,hS)
dHs = myComm(eta,hS)
print dHs.expand()
产生我想要的正确表达:
2*t*vS*t + t*vS**2 - t**2*vS - 2*vS*t*vS - vS*t**2 + vS**2*t
所以现在我希望用矩阵替换符号 t 和 vS,但是在使用 subs 时出现错误,“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。
标签: python numpy enthought sympy