【问题标题】:Is there an implementation of _rational_ interval arithmetic in Python?Python 中是否有 _rational_ 区间算术的实现?
【发布时间】:2011-01-02 08:41:30
【问题描述】:

在 Python 中是否有 有理 区间算术的实现? This 使用浮点数,而不是有理数。

如果没有,Python 中是否有任何包含 ±∞ 的有理数实现?

【问题讨论】:

    标签: python intervals cpython infinity rational-numbers


    【解决方案1】:

    Sympyintervals、有理数和无穷大。 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
    

    【讨论】:

      【解决方案2】:

      PyInterval 现在在 Python 功能中具有有理区间算术。

      From PyInterval Docs:

      可以将区间包加载到 Python 解释器中,其中的语句在当前命名空间中注入区间类、表示数学无穷大的常量和提供区间超越函数的模块。

      from interval import interval, inf, imath
      
      interval[0, 2] * interval[4, inf]
      interval([-inf, inf])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-28
        • 2015-10-05
        • 2010-12-16
        • 2011-07-25
        • 2014-07-29
        • 2022-11-11
        • 1970-01-01
        相关资源
        最近更新 更多