如果我们知道变量满足某个方程,是否可以简化 SymPy 中的表达式?例如,在 Mathematica 中我们可以这样写:
Simplify[a+b-c, a+b==c]
Run Code Online (Sandbox Code Playgroud)
当然,在这种情况下,可以解决a并进行替换。然而,对于长表达式来说,进行全局替换可能没有意义。如果目标是产生尽可能最短的表达式,则可能需要对某些项应用替换,而其余项保持不变,或者求解b代替a。
我认为sympy.assumptions模块不能对多个变量相互施加限制。Simplify[expr, assum]是否可以在 SymPy 中以任何其他方式实现 Mathematica 的功能?
或者还有其他开源项目可以做这样的事情吗?