Python Sympy:Matrix.doit()不';不适用于矩阵元素

Python Sympy:Matrix.doit()不';不适用于矩阵元素,python,python-2.7,sympy,Python,Python 2.7,Sympy,在下面的示例中,我将函数替换为矩阵表达式。我希望在.doit()调用之后进行一些简化: 但事实并非如此。如果我为矩阵的每个元素调用.doit(),一切都正常 问题:什么是错误的,.doit()函数的代码或行为?如何修复它?在Symphy的开发版本中似乎已经修复了这一问题。新版本(1.0)不久将发布 酷。对于此版本,解决方案矩阵。applyfunc(..)工作正常。 x = symbols('x', real=True) f = symbols('f', real=True)(x) v = Mat

在下面的示例中,我将函数替换为矩阵表达式。我希望在.doit()调用之后进行一些简化:

但事实并非如此。如果我为矩阵的每个元素调用.doit(),一切都正常


问题:什么是错误的,.doit()函数的代码或行为?如何修复它?

在Symphy的开发版本中似乎已经修复了这一问题。新版本(1.0)不久将发布

酷。对于此版本,解决方案矩阵。applyfunc(..)工作正常。
x = symbols('x', real=True)
f = symbols('f', real=True)(x)
v = Matrix([f * sin(x), f * cos(x)])
v1 = v.diff(x)

print v1.subs(f, x)
# prints: Matrix([[x*cos(x) + sin(x)*Derivative(x, x)], [-x*sin(x) + cos(x)*Derivative(x, x)]])
print v1.subs(f, x).doit()
# prints: Matrix([[x*cos(x) + sin(x)*Derivative(x, x)], [-x*sin(x) + cos(x)*Derivative(x, x)]])
print Matrix([e.doit() for e in v1.subs(f, x)])
# prints: Matrix([[x*cos(x) + sin(x)], [-x*sin(x) + cos(x)]])