We introduce real number computation with digital computers, as formalized by Turing machines, from both practical and theoretical perspectives. In the computational models that we consider, real number computations can be performed to any desired degree of accuracy.
An important property of the models is that the programmer doesn't need to be concerned with the syntactical details of the notation systems for real numbers in order to develop mathematically correct programs. As far as the programmer is concerned, real numbers are taken in the usual (classical) mathematical sense. Of course, in any approach to real number computation, there must be an underlying machinery (called the operational semantics) for computing a syntactical representative of the mathematical entity denoted by a program (called the semantical denotation). The perfect match of the operational and the denotational semantics is called computational adequacy. This is what ensures that the programmer can ignore the operational semantics, relying only on algebraic and analytic methods, in order to derive mathematically correct programs.
Two topics, computability and complexity, are not developed in this introductory account--see Pour-el and Richards [48], Weihrauch [64] and Ko [35] among other references--but the fundamental properties of the notion of computability are included. Computability theory is concerned with the classification of mathematical entities as either computable or not computable, and complexity theory is concerned with the classification of computable mathematical entities in degrees of consumption of computational resources--space and time. No doubt, these two topics are not only of fundamental importance but also of interest in their own right. In these notes, however, we wish to emphasize the connections between operational and denotational aspects of real number computation.
Another omission is the well-known BSS model of real number computation of Blum, Shub and Smale [10,9]. In our view, this is best regarded as a mathematical abstraction of floating-point computation. What we study here, however, is an alternative approach to real number computation proposed by Turing in 1937, with ideas going back to Brouwer in 1920.
With recent technological advances on digital computers, which have dramatically increased their speed and their storage capabilities, the theoretical ideas of Brouwer and Turing have been experimentally put in practice. Many (non-commercial) packages for exact real number computation have been implemented in a variety of programming languages. A competition between systems for exact real computation is being organized by David Lester as part of the fourth workshop on Computability and Complexity in Analysis in Swansea, Wales in September--see
http://www.informatik.fernuni-hagen.de/import/cca/cca2000/