Interval package

Revision as of 05:49, 14 October 2014 by Oheim (talk | contribs) (Created initial page structure)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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]

Quick start introduction

Input and output

Decorations

Arithmetic operations

Reverse arithmetic operations

Numerical operations

Boolean operations