You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sympy公式推导中如何保留向量点积符号不自动展开计算

解决方法

你可以通过自定义无自动求值逻辑的Sympy函数实现点积符号保留,不要调用默认会自动展开的.dot()方法即可,具体操作如下:

步骤1:定义依赖和自定义点积函数

from sympy import MatrixSymbol, Function, symbols

# 定义未绑定求值逻辑的点积函数,Sympy不会自动触发展开计算
dot = Function('dot')
t = symbols('t')
x1 = MatrixSymbol('x1', 1,2)
x2 = MatrixSymbol('x2', 1, 2)

步骤2:验证运算效果

# 点积不会自动展开
>>> dot(x1, x2)
dot(x1, x2)

# 代入等式运算符合预期
>>> y = (dot(x1,x2) - dot(x2,x1)) * t
>>> y.coeff(t, 1)
dot(x1, x2) - dot(x2, x1)

可选:修改输出显示为x1 * x2格式

如果需要输出样式和你预期的完全一致,可以重写函数的字符串渲染逻辑:

class Dot(Function):
    def __str__(self):
        return f"{self.args[0]} * {self.args[1]}"

dot = Dot
>>> dot(x1,x2)
x1 * x2

内容的提问来源于stack exchange,提问作者jc92me

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:06:01