Python中有没有_有理_区间算术的实现?

8 投票
2 回答
1353 浏览
提问于 2025-04-16 09:18

在Python中有没有实现有理数区间运算的库?这个是用浮点数的,不是用有理数。

如果没有,那Python中有没有包含±∞的有理数实现?

2 个回答

0

PyInterval 现在在 Python 中支持有理区间运算的功能。

来自 PyInterval 文档:

你可以通过一个语句将这个区间包加载到 Python 解释器中,这样就可以在当前的命名空间里使用区间类、一个表示数学无穷大的常量,以及一个提供区间超越函数的模块。

from interval import interval, inf, imath

interval[0, 2] * interval[4, inf]
interval([-inf, inf])
5

Sympy 是一个数学库,它里面有区间、分数和无穷大等概念。Interval 类是 Set 类的一个子类。

# oo is the symbol for infinity
from sympy import Interval, oo, Rational

i1 = Interval(10, 15)
i2 = Interval(0, oo)
i3 = Interval(-5, -1)
# adding intervals
i4 = i1 + i3
i5 = i1 + i2
# interval with open end
i6 = Interval(Rational(1, 2), Rational(45, 3), left_open=True)

print 11 in i1 # True
print -1 in i1 # False
print 0 in i4 # False
print Rational(3, 2) in i6 # True
print oo in i2 # False
print i2.sup # oo (infinity)
print Rational(1, 2) in i6 # False
print i6.inf # 1/2

撰写回答