# Difference between revisions of "Interval package"

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 22:53, 13 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.

## Contents

## 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]