Recursive analysis was introduced by A. Turing [1936], A. Grzegorczyk [1955],
and D. Lacombe [1955]. It is based on a discrete mechanical framework that can be used to model computation over the real
numbers. In this context the computational complexity of real functions defined over compact
domains has been extensively studied. However, much less have been done for other kinds of real functions. This article is divided into two main parts. The first part investigates polynomial time computability of rational functions and the role of continuity in such computation. On the one hand this is interesting for its own sake. On the other hand it provides insights into polynomial time computability of real functions for the latter, in the sense of recursive analysis, is modeled as approximations of rational computations. The main conclusion of this part is that continuity does not play any role in the efficiency of computing rational functions. The second part defines polynomial time computability of arbitrary real functions, characterizes it, and compares it with the corresponding notion over rational functions. Assuming continuity, the main conclusion is that there is a conceptual difference between polynomial time computation over the rationals and the reals manifested by the fact that there are polynomial time computable rational functions whose extensions to the reals are not polynomial time computable and vice versa. |