Steps towards exact real numbers
Computers are widely used for real number computations. They evaluate real functions, determine integrals and solve differential equations. The set of real numbers is, however, not countable. Any implementation must be different from the implementation of countable sets of natural or even rational numbers. Within the project COMPUTAL (Computable analysis), the theoretical background used for real numbers was type-2-theory of effectivity (TTE). According to this approach, a real number can be represented as a sequence of rational numbers with a known rate of convergence. Usually, this convergence is expressed as a constraint. However, this approach lacks the capabilities of imperative programming that facilitate the implementation of numerical algorithms. For this purpose, mathematicians relied on the interactive Real-RAM (iRRAM) to have an implementation that is exact, fast and proven to be correct. iRRAM is known to be a C++ implementation of real numbers. Its capabilities range from ordinary arithmetics over trigonometric functions to linear algebra. Since it was first introduced, this software package has continuously been improved. The COMPUTAL team delivered an important extension to the current version. iRRAM was extended to allow the computational treatment of hard-to-solve problems in hybrid systems. Specifically, mathematicians focused on infinite computations and tried to measure how many steps are necessary to compute an approximation of a given precision. Lastly, they attempted to extend the descriptive set theory to a larger class of spaces used in mathematical studies of program semantics than the TTE approach. The silver medal of the Gödel Research Prize was awarded for the newly introduced class of so-called quasi-Polish spaces. COMPUTAL laid solid foundations for the development of software proven to operate correctly with infinite data like real numbers. The many notable results include new data representations of reals and the application of logical principles in imperative programming.
Keywords
Real numbers, IEEE-754, iRRAM, Taylor models