Computable number

Last updated
p can be computed to arbitrary precision, while almost every real number is not computable. 10,000 digits of pi - poster.svg
π can be computed to arbitrary precision, while almost every real number is not computable.

In mathematics, computable numbers are the real numbers that can be computed to within any desired precision by a finite, terminating algorithm. They are also known as the recursive numbers, effective numbers [1] or the computable reals or recursive reals.[ citation needed ] The concept of a computable real number was introduced by Emile Borel in 1912, using the intuitive notion of computability available at the time. [2]

Contents

Equivalent definitions can be given using μ-recursive functions, Turing machines, or λ-calculus as the formal representation of algorithms. The computable numbers form a real closed field and can be used in the place of real numbers for many, but not all, mathematical purposes.

Informal definition using a Turing machine as example

In the following, Marvin Minsky defines the numbers to be computed in a manner similar to those defined by Alan Turing in 1936; [3] i.e., as "sequences of digits interpreted as decimal fractions" between 0 and 1: [4]

A computable number [is] one for which there is a Turing machine which, given n on its initial tape, terminates with the nth digit of that number [encoded on its tape].

The key notions in the definition are (1) that some n is specified at the start, (2) for any n the computation only takes a finite number of steps, after which the machine produces the desired output and terminates.

An alternate form of (2) – the machine successively prints all n of the digits on its tape, halting after printing the nth – emphasizes Minsky's observation: (3) That by use of a Turing machine, a finite definition – in the form of the machine's state table – is being used to define what is a potentially infinite string of decimal digits.

This is however not the modern definition which only requires the result be accurate to within any given accuracy. The informal definition above is subject to a rounding problem called the table-maker's dilemma whereas the modern definition is not.

Formal definition

A real number a is computable if it can be approximated by some computable function in the following manner: given any positive integer n, the function produces an integer f(n) such that:

There are two similar definitions that are equivalent:

There is another equivalent definition of computable numbers via computable Dedekind cuts. A computable Dedekind cut is a computable function which when provided with a rational number as input returns or , satisfying the following conditions:

An example is given by a program D that defines the cube root of 3. Assuming this is defined by:

A real number is computable if and only if there is a computable Dedekind cut D corresponding to it. The function D is unique for each computable number (although of course two different programs may provide the same function).

A complex number is called computable if its real and imaginary parts are computable.

Properties

Not computably enumerable

Assigning a Gödel number to each Turing machine definition produces a subset of the natural numbers corresponding to the computable numbers and identifies a surjection from to the computable numbers. There are only countably many Turing machines, showing that the computable numbers are subcountable. The set of these Gödel numbers, however, is not computably enumerable (and consequently, neither are subsets of that are defined in terms of it). This is because there is no algorithm to determine which Gödel numbers correspond to Turing machines that produce computable reals. In order to produce a computable real, a Turing machine must compute a total function, but the corresponding decision problem is in Turing degree 0. Consequently, there is no surjective computable function from the natural numbers to the computable reals, and Cantor's diagonal argument cannot be used constructively to demonstrate uncountably many of them.

While the set of real numbers is uncountable, the set of computable numbers is classically countable and thus almost all real numbers are not computable. Here, for any given computable number the well ordering principle provides that there is a minimal element in which corresponds to , and therefore there exists a subset consisting of the minimal elements, on which the map is a bijection. The inverse of this bijection is an injection into the natural numbers of the computable numbers, proving that they are countable. But, again, this subset is not computable, even though the computable reals are themselves ordered.

Properties as a field

The arithmetical operations on computable numbers are themselves computable in the sense that whenever real numbers a and b are computable then the following real numbers are also computable: a + b, a - b, ab, and a/b if b is nonzero. These operations are actually uniformly computable; for example, there is a Turing machine which on input (A,B,) produces output r, where A is the description of a Turing machine approximating a, B is the description of a Turing machine approximating b, and r is an approximation of a+b.

The fact that computable real numbers form a field was first proved by Henry Gordon Rice in 1954. [5]

Computable reals however do not form a computable field, because the definition of a computable field requires effective equality.

Non-computability of the ordering

The order relation on the computable numbers is not computable. Let A be the description of a Turing machine approximating the number . Then there is no Turing machine which on input A outputs "YES" if and "NO" if To see why, suppose the machine described by A keeps outputting 0 as approximations. It is not clear how long to wait before deciding that the machine will never output an approximation which forces a to be positive. Thus the machine will eventually have to guess that the number will equal 0, in order to produce an output; the sequence may later become different from 0. This idea can be used to show that the machine is incorrect on some sequences if it computes a total function. A similar problem occurs when the computable reals are represented as Dedekind cuts. The same holds for the equality relation : the equality test is not computable.

While the full order relation is not computable, the restriction of it to pairs of unequal numbers is computable. That is, there is a program that takes as input two Turing machines A and B approximating numbers and , where , and outputs whether or It is sufficient to use -approximations where so by taking increasingly small (approaching 0), one eventually can decide whether or

Other properties

The computable real numbers do not share all the properties of the real numbers used in analysis. For example, the least upper bound of a bounded increasing computable sequence of computable real numbers need not be a computable real number. [6] A sequence with this property is known as a Specker sequence, as the first construction is due to Ernst Specker in 1949. [7] Despite the existence of counterexamples such as these, parts of calculus and real analysis can be developed in the field of computable numbers, leading to the study of computable analysis.

Every computable number is arithmetically definable, but not vice versa. There are many arithmetically definable, noncomputable real numbers, including:

Both of these examples in fact define an infinite set of definable, uncomputable numbers, one for each Universal Turing machine. A real number is computable if and only if the set of natural numbers it represents (when written in binary and viewed as a characteristic function) is computable.

The set of computable real numbers (as well as every countable, densely ordered subset of computable reals without ends) is order-isomorphic to the set of rational numbers.

Digit strings and the Cantor and Baire spaces

Turing's original paper defined computable numbers as follows:

A real number is computable if its digit sequence can be produced by some algorithm or Turing machine. The algorithm takes an integer as input and produces the -th digit of the real number's decimal expansion as output.

(The decimal expansion of a only refers to the digits following the decimal point.)

Turing was aware that this definition is equivalent to the -approximation definition given above. The argument proceeds as follows: if a number is computable in the Turing sense, then it is also computable in the sense: if , then the first n digits of the decimal expansion for a provide an approximation of a. For the converse, we pick an computable real number a and generate increasingly precise approximations until the nth digit after the decimal point is certain. This always generates a decimal expansion equal to a but it may improperly end in an infinite sequence of 9's in which case it must have a finite (and thus computable) proper decimal expansion.

Unless certain topological properties of the real numbers are relevant, it is often more convenient to deal with elements of (total 0,1 valued functions) instead of reals numbers in . The members of can be identified with binary decimal expansions, but since the decimal expansions and denote the same real number, the interval can only be bijectively (and homeomorphically under the subset topology) identified with the subset of not ending in all 1's.

Note that this property of decimal expansions means that it is impossible to effectively identify the computable real numbers defined in terms of a decimal expansion and those defined in the approximation sense. Hirst has shown that there is no algorithm which takes as input the description of a Turing machine which produces approximations for the computable number a, and produces as output a Turing machine which enumerates the digits of a in the sense of Turing's definition. [8] Similarly, it means that the arithmetic operations on the computable reals are not effective on their decimal representations as when adding decimal numbers. In order to produce one digit, it may be necessary to look arbitrarily far to the right to determine if there is a carry to the current location. This lack of uniformity is one reason why the contemporary definition of computable numbers uses approximations rather than decimal expansions.

However, from a computability theoretic or measure theoretic perspective, the two structures and are essentially identical. Thus, computability theorists often refer to members of as reals. While is totally disconnected, for questions about classes or randomness it is easier to work in .

Elements of are sometimes called reals as well and though containing a homeomorphic image of , isn't even locally compact (in addition to being totally disconnected). This leads to genuine differences in the computational properties. For instance the satisfying , with quantifier free, must be computable while the unique satisfying a universal formula may have an arbitrarily high position in the hyperarithmetic hierarchy.

Use in place of the reals

The computable numbers include the specific real numbers which appear in practice, including all real algebraic numbers, as well as e, π, and many other transcendental numbers. Though the computable reals exhaust those reals we can calculate or approximate, the assumption that all reals are computable leads to substantially different conclusions about the real numbers. The question naturally arises of whether it is possible to dispose of the full set of reals and use computable numbers for all of mathematics. This idea is appealing from a constructivist point of view, and has been pursued by what Errett Bishop and Fred Richman call the Russian school of constructive mathematics.[ citation needed ] [9]

To actually develop analysis over computable numbers, some care must be taken. For example, if one uses the classical definition of a sequence, the set of computable numbers is not closed under the basic operation of taking the supremum of a bounded sequence (for example, consider a Specker sequence, see the section above). This difficulty is addressed by considering only sequences which have a computable modulus of convergence. The resulting mathematical theory is called computable analysis.

Implementations of exact arithmetic

Computer packages representing real numbers as programs computing approximations have been proposed as early as 1985, under the name "exact arithmetic". [10] Modern examples include the CoRN library (Coq), [11] and the RealLib package (C++). [12] A related line of work is based on taking a real RAM program and running it with rational or floating-point numbers of sufficient precision, such as the iRRAM package. [13]

See also

Notes

  1. van der Hoeven (2006).
  2. P. Odifreddi, Classical Recursion Theory (1989), p.8. North-Holland, 0-444-87295-7
  3. Turing (1936).
  4. Minsky (1967).
  5. Rice (1954).
  6. Bridges & Richman (1987), p. 58.
  7. Specker (1949).
  8. Hirst (2007).
  9. Zalta, Edward N., ed. (2022), "Russian School of Constructive Mathematics", Constructive Mathematics, Metaphysics Research Lab, Stanford University
  10. Boehm, Hans-J.; Cartwright, Robert; Riggle, Mark; O'Donnell, Michael J. (8 August 1986). "Exact real arithmetic: A case study in higher order programming" (PDF). Proceedings of the 1986 ACM conference on LISP and functional programming - LFP '86. pp. 162–173. doi:10.1145/319838.319860. ISBN   0897912004. S2CID   12934546. Archived (PDF) from the original on 2020-09-24.
  11. O’Connor, Russell (2008). "Certified Exact Transcendental Real Number Computation in Coq". Theorem Proving in Higher Order Logics. Lecture Notes in Computer Science. Vol. 5170. pp. 246–261. arXiv: 0805.2438 . doi:10.1007/978-3-540-71067-7_21. ISBN   978-3-540-71065-3. S2CID   17959745.
  12. Lambov (2015).
  13. Gowland, Paul; Lester, David (2001). "A Survey of Exact Arithmetic Implementations" (PDF). Computability and Complexity in Analysis. Lecture Notes in Computer Science. Vol. 2064. Springer. pp. 30–47. doi:10.1007/3-540-45335-0_3. ISBN   978-3-540-42197-9. Archived (PDF) from the original on 2022-03-24.

Related Research Articles

In the computer science subfield of algorithmic information theory, a Chaitin constant or halting probability is a real number that, informally speaking, represents the probability that a randomly constructed program will halt. These numbers are formed from a construction due to Gregory Chaitin.

In mathematics, the infimum of a subset of a partially ordered set is the greatest element in that is less than or equal to each element of if such an element exists. In other words, it is the greatest element of that is lower or equal to the lowest element of . Consequently, the term greatest lower bound is also commonly used. The supremum of a subset of a partially ordered set is the least element in that is greater than or equal to each element of if such an element exists. In other words, it is the least element of that is greater than or equal to the greatest element of . Consequently, the supremum is also referred to as the least upper bound.

In mathematical logic, Goodstein's theorem is a statement about the natural numbers, proved by Reuben Goodstein in 1944, which states that every Goodstein sequence eventually terminates at 0. Laurence Kirby and Jeff Paris showed that it is unprovable in Peano arithmetic. This was the third example of a true statement that is unprovable in Peano arithmetic, after the examples provided by Gödel's incompleteness theorem and Gerhard Gentzen's 1943 direct proof of the unprovability of ε0-induction in Peano arithmetic. The Paris–Harrington theorem gave another example.

<span class="mw-page-title-main">Orthogonal group</span> Type of group in mathematics

In mathematics, the orthogonal group in dimension , denoted , is the group of distance-preserving transformations of a Euclidean space of dimension that preserve a fixed point, where the group operation is given by composing transformations. The orthogonal group is sometimes called the general orthogonal group, by analogy with the general linear group. Equivalently, it is the group of orthogonal matrices, where the group operation is given by matrix multiplication. The orthogonal group is an algebraic group and a Lie group. It is compact.

In mathematics, transfinite numbers or infinite numbers are numbers that are "infinite" in the sense that they are larger than all finite numbers. These include the transfinite cardinals, which are cardinal numbers used to quantify the size of infinite sets, and the transfinite ordinals, which are ordinal numbers used to provide an ordering of infinite sets. The term transfinite was coined in 1895 by Georg Cantor, who wished to avoid some of the implications of the word infinite in connection with these objects, which were, nevertheless, not finite. Few contemporary writers share these qualms; it is now accepted usage to refer to transfinite cardinals and ordinals as infinite numbers. Nevertheless, the term transfinite also remains in use.

In physics, screening is the damping of electric fields caused by the presence of mobile charge carriers. It is an important part of the behavior of charge-carrying fluids, such as ionized gases, electrolytes, and charge carriers in electronic conductors . In a fluid, with a given permittivity ε, composed of electrically charged constituent particles, each pair of particles interact through the Coulomb force as

In mathematics, a real number is said to be simply normal in an integer base b if its infinite sequence of digits is distributed uniformly in the sense that each of the b digit values has the same natural density 1/b. A number is said to be normal in base b if, for every positive integer n, all possible strings n digits long have density bn.

In mathematics, the Lucas–Lehmer test (LLT) is a primality test for Mersenne numbers. The test was originally developed by Édouard Lucas in 1878 and subsequently proved by Derrick Henry Lehmer in 1930.

In computing, a roundoff error, also called rounding error, is the difference between the result produced by a given algorithm using exact arithmetic and the result produced by the same algorithm using finite-precision, rounded arithmetic. Rounding errors are due to inexactness in the representation of real numbers and the arithmetic operations done with them. This is a form of quantization error. When using approximation equations or algorithms, especially when using finitely many digits to represent real numbers, one of the goals of numerical analysis is to estimate computation errors. Computation errors, also called numerical errors, include both truncation errors and roundoff errors.

<span class="mw-page-title-main">Oscillation (mathematics)</span> Amount of variation between extrema

In mathematics, the oscillation of a function or a sequence is a number that quantifies how much that sequence or function varies between its extreme values as it approaches infinity or a point. As is the case with limits, there are several definitions that put the intuitive concept into a form suitable for a mathematical treatment: oscillation of a sequence of real numbers, oscillation of a real-valued function at a point, and oscillation of a function on an interval.

<span class="mw-page-title-main">Transcendental number theory</span> Study of numbers that are not solutions of polynomials with rational coefficients

Transcendental number theory is a branch of number theory that investigates transcendental numbers, in both qualitative and quantitative ways.

An elliptic filter is a signal processing filter with equalized ripple (equiripple) behavior in both the passband and the stopband. The amount of ripple in each band is independently adjustable, and no other filter of equal order can have a faster transition in gain between the passband and the stopband, for the given values of ripple. Alternatively, one may give up the ability to adjust independently the passband and stopband ripple, and instead design a filter which is maximally insensitive to component variations.

Intuitively, an algorithmically random sequence is a sequence of binary digits that appears random to any algorithm running on a universal Turing machine. The notion can be applied analogously to sequences on any finite alphabet. Random sequences are key objects of study in algorithmic information theory.

In the mathematical discipline of set theory, there are many ways of describing specific countable ordinals. The smallest ones can be usefully and non-circularly expressed in terms of their Cantor normal forms. Beyond that, many ordinals of relevance to proof theory still have computable ordinal notations. However, it is not possible to decide effectively whether a given putative ordinal notation is a notation or not ; various more-concrete ways of defining ordinals that definitely have notations are available.

Axiomatic constructive set theory is an approach to mathematical constructivism following the program of axiomatic set theory. The same first-order language with "" and "" of classical set theory is usually used, so this is not to be confused with a constructive types approach. On the other hand, some constructive theories are indeed motivated by their interpretability in type theories.

In fluid dynamics, the Darcy friction factor formulae are equations that allow the calculation of the Darcy friction factor, a dimensionless quantity used in the Darcy–Weisbach equation, for the description of friction losses in pipe flow as well as open-channel flow.

<span class="mw-page-title-main">Real number</span> Number representing a continuous quantity

In mathematics, a real number is a number that can be used to measure a continuous one-dimensional quantity such as a distance, duration or temperature. Here, continuous means that pairs of values can have arbitrarily small differences. Every real number can be almost uniquely represented by an infinite decimal expansion.

In mathematics, a limit is the value that a function approaches as the input approaches some value. Limits are essential to calculus and mathematical analysis, and are used to define continuity, derivatives, and integrals.

Quantum stochastic calculus is a generalization of stochastic calculus to noncommuting variables. The tools provided by quantum stochastic calculus are of great use for modeling the random evolution of systems undergoing measurement, as in quantum trajectories. Just as the Lindblad master equation provides a quantum generalization to the Fokker–Planck equation, quantum stochastic calculus allows for the derivation of quantum stochastic differential equations (QSDE) that are analogous to classical Langevin equations.

A mathematical constant is a key number whose value is fixed by an unambiguous definition, often referred to by a special symbol, or by mathematicians' names to facilitate using it across multiple mathematical problems. Constants arise in many areas of mathematics, with constants such as e and π occurring in such diverse contexts as geometry, number theory, statistics, and calculus.

References

Further reading