簡體   English   中英

比較數字的范圍 SymPy

[英]Compare ranges of numbers SymPy

我在 SymPy 中遇到問題。 我解決了一個不等式,我需要檢查解決方案是否在某個范圍內。

例如,如果我想解決不等式sympy.solve(x**3 > 0) ,(它將返回(0 < x) & (x < oo) ),並且如果解決函數返回,我想返回 true (0 > x) & (x > -oo) ,它將返回 false,因為這兩個范圍不相等。

單變量關系可以轉換為集合,您可以檢查集合交集。 如果交集不等於任何一個集合,則兩個集合都不包含在另一個集合中:

>>> a, b = (0 < x) & (x < oo), (0 > x) & (x > -oo)
>>> sa = a.as_set(); sb = b.as_set()
>>> sa
Interval.open(0, oo)
>>> sa.intersection(sb)
EmptySet

因為根本沒有交集,所以這些集合一定是不同的。

這是存在重疊(包含)的情況:

>>> Interval(1, 3).intersection(sa)
Interval(1, 3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM