python - 矩阵和标量符号的混合

标签 python matrix sympy symbolic-math

有没有办法在 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/

相关文章:

python - 有关如何创建自定义 tf.keras 优化器 (optimizer_v2) 的建议

r - 如何通过将索引保留在第一列和第二列中将矩阵转换为 R 中的数据帧?

c - (生命游戏)如何在不检查矩阵外部的情况下循环遍历矩阵的外层,同时检查邻居?

python - 在 sympy 表达式中查找函数

python - Sympy 求解无法找到简单方程的零空间

python - 嵌套数据类听写

python - 错误和/或空字符串导致 Pandas DataFrame.append 结果不一致

python - 如何从 Python 中的 txt 文件中读取数据集?

sympy 解决给出了错误的结果

Python:有没有办法根据xml例子生成xsd文件