矩阵和标量符号的混合

时间:2014-12-02 15:02:36

标签: python matrix sympy symbolic-math

有没有办法在Sympy中混合使用矩阵符号和标量符号?

我想制作一个以矢量和标量为例的标量函数:

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

我收到一条错误消息: TypeError:矩阵和标量符号的混合

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

1 个答案:

答案 0 :(得分:3)

sympy代码检查包含矩阵的加法运算(和)中的所有符号是否为矩阵。这就是你收到错误的原因。

您可以通过以下方式规避这一点:

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

如果您打算经常执行此操作,您可能需要考虑将其更改为lambda表达式等。