Interval package: Difference between revisions
Jump to navigation
Jump to search
(Created initial page structure) |
m (Fixed dumb error) |
||
Line 10: | Line 10: | ||
ans = 1.3878e-16 | ans = 1.3878e-16 | ||
octave:1> x = infsup (0.1); | octave:1> x = infsup ("0.1"); | ||
octave:2> 19 * x - 2 + x | octave:2> 19 * x - 2 + x | ||
ans = [- | ans = [-3.1918911957973251e-16, +1.3877787807814457e-16] | ||
== Quick start introduction == | == Quick start introduction == |
Revision as of 05:53, 14 October 2014
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 = [-3.1918911957973251e-16, +1.3877787807814457e-16]