有没有办法在 Sympy 中混合矩阵符号和标量符号?
我想制作一个标量函数,以向量和标量为例:
import sympy as sy
v=sy.MatrixSymbol('v',3,1)
f=v.T*v+5
我收到一条错误消息: 类型错误:矩阵和标量符号的混合
我知道我可以为我将要做的每个点积使用一个符号,但这不是很优雅。
最佳答案
sympy 代码检查涉及矩阵的加法运算(求和)中的所有符号都是矩阵。这就是您收到错误的原因。
您可以通过以下方式规避此问题:
>>> v.T*v + 5*sym.Identity(1)
# 5*I + v'*v
如果您打算经常执行此操作,您可能需要考虑将其更改为 lambda 表达式等。
关于python - 矩阵和标量符号的混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27252479/