Interval computing is the most used way to produce bounds on answers to numerical problems. Given lower and upper bounds on each numeric input data value, it computes lower and upper bounds on each output value. For instance ‘if the car’s speed is between 40 and 50 mph and the distance to travel is between 8 and 10 miles, the time for the trip is between 9.6and 15 minutes.’ Symbolically this is the interval calculation [8,10]/[40,50]*60 giving the result [9.6,15]. The bounds are mathematically guaranteed – assuming correct algorithms are used – and in particular take account of all roundoff errors in arithmetic operations. For instance if we had to give the above answer in whole minutes we should have to say ‘between 9 and 15 minutes’.
Interval computing has some notable successes but has been slow to live up to its promise. One reason is that it requires access to low-level computer arithmetic features such as control over rounding mode, which are ill-supported by the main computer languages. Hence software is hard to port between platforms and even between successive releases of a compiler. This severely hampers progress on the inherent difficulties of interval computing, mainly that for implicit problems such as solving algebraic and differential equations one needs very different and more time consuming algorithms.
For ordinary floating point computing a portable infrastructure has been available for many years, thanks to the IEEE arithmetic standard at the hardware level, and quality algorithm libraries such as NAG and IMSL at the software level.
The ISL project was begun in Summer 2005 with the mission to put in place a similar portable infrastructure for interval computing.
See other pages for more detail on the project’s origin and aims, its personnel, its achievements and current activities, a selection of journal papers, talks and working notes, and summaries of team meetings held so far.