[英]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.