[英]Sympy simplification of maximum
我不明白為什么 Sympy 不會將下面簡化的表達式返回給我(不確定它是我代碼中的錯誤還是 Sympy 的功能)。
import sympy as sp
a = sp.Symbol('a',finite = True, real = True)
b = sp.Symbol('b',finite = True, 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(ab,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 上聲明了全局假設,除非這些假設是在我上面顯示的符號上聲明的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.