The architecture of the IEEE P1788 draft standard for interval arithmetic
Cardiff University, UK
Interval arithmetic (IA) is the most used way of producing rigorously proven results in problems of continuous mathematics, usually in the form of real intervals that (even in presence of rounding error) are guaranteed to enclose a value of interest, such as a solution of a differential equation at some point. The basics of IA are generally agreed -- e.g., to add two intervals xx, yy, find an interval containing all x+y for x in xx and y in yy.
Many versions of IA theory exist, individually consistent but mutually incompatible. They differ especially in how to handle operations not everywhere defined on their inputs, such as division by an interval containing zero. In this situation a standard is called for, which not all will love but which is usable and practical in most IA applications.
The IEEE working group P1788, begun in 2008, has produced a draft standard for interval arithmetic, currently undergoing the IEEE approval process. The talk will concentrate on aspects of its architecture, especially:
- the levels structure, with a mathematical, a datum and an implementation level;
- the decoration system, which records where library operations are discontinuous or undefined;
- how implementations may relate to a programming language, whether as a bolt-on library or as part of the language;
- the flavor concept, by which implementations based on other versions of IA theory may be included into the standard in a consistent way.