2014-12-02 48 views
0

有没有在Sympy中混合矩阵符号和标量符号的方法?矩阵和标量符号的混合

我想打一个标量函数,它的载体和标量例如:

import sympy as sy 
v=sy.MatrixSymbol('v',3,1) 
f=v.T*v+5 

我收到一个错误说: 类型错误:矩阵混音和标符号

我知道我可以使用这是我要做的每个点积的一个符号,但这不是很优雅。

回答

1

sympy代码检查所有涉及矩阵的加法运算(和)中的所有符号是矩阵。这就是为什么你会得到一个错误。

你可以做绕过这个:

>>> v.T*v + 5*sym.Identity(1) 
# 5*I + v'*v 

如果你打算做频繁此操作,你可能要考虑它改变成一个lambda表达式或等。