Interval package: Difference between revisions

From Octave
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 = [-8.326672684688675e-17, +1.3877787807814457e-16]
  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]

Quick start introduction

Input and output

Decorations

Arithmetic operations

Reverse arithmetic operations

Numerical operations

Boolean operations