如何解决最大的Sympy简化
我不明白为什么Sympy不会向我返回以下简化的表达式(不确定它是我的代码中的错误还是Sympy的功能)。
import sympy as sp
a = sp.Symbol('a',finite = True,real = True)
b = sp.Symbol('b',real = True)
sp.assumptions.assume.global_assumptions.add(sp.Q.positive(b))
sp.assumptions.assume.global_assumptions.add(sp.Q.negative(a))
sp.simplify(sp.Max(a-b,a+b))
我希望输出为$ a + b $,但是Sympy仍然会给我$ Max(a-b,a + b)$。
谢谢;如您所见,我是Sympy的初学者,因此希望获得所有的提示/帮助。
解决方法
结果肯定应该是a + b
...
您可以通过如下设置符号的假设来实现:
In [2]: a = Symbol('a',negative=True)
In [3]: b = Symbol('b',positive=True)
In [4]: Max(a - b,a + b)
Out[4]: a + b
您正在尝试使用新的假设系统,但是该系统仍处于试验阶段,在sympy中并未得到广泛使用。新的假设未用于核心评估,因此Max函数不知道您已经在a和b上声明了全局假设,除非这些假设在如上所示的符号上声明。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。