Interval package
Jump to navigation
Jump to search
The interval package provides data types and fundamental operations for real valued interval arithmetic based on the common floating-point format “binary64” a. k. a. double-precision. Interval arithmetic produces mathematically proven numerical results. It aims to be standard compliant with the (upcoming) IEEE 1788 and therefore implements the set-based interval arithmetic flavor.
Warning: The package has not yet been released.
Motivation
Give a digital computer a problem in arithmetic, and it will grind away methodically, tirelessly, at gigahertz speed, until ultimately it produces the wrong answer. … An interval computation yields a pair of numbers, an upper and a lower bound, which are guaranteed to enclose the exact answer. Maybe you still don’t know the truth, but at least you know how much you don’t know.—Brian Hayes, DOI: 10.1511/2003.6.484
octave:1> 19 * 0.1 - 2 + 0.1 ans = 1.3878e-16
octave:1> x = infsup (0.1); octave:2> 19 * x - 2 + x ans = [-8.326672684688675e-17, +1.3877787807814457e-16]