I was trying to make a set of differential equations "compute" some given function just like a Turing Machine does. Essentially, a given Turing Machine with an initial configuration (which includes all initial conditions - The initial tape content, starting state, initial head position) "evolves" to a specific configuration after a finite number of steps and if the function is computable, it halts with the output of the function on the tape. I am trying to draw an analogy of Turing Machines with other "time-evolving" systems and the most intuitive of all is a Dynamical System as a set of differential equations. As an attempt, I formulated a dynamical system which could compute asymptotically the square of a number.
Suppose I want to find the functions $f(x,y,t)$ and $g(x,y,t)$ such that the following dynamical system:
is such that:
- In the phase plane (with $x$ on X axis and $y$ on Y axis), every point on the X axis is a fixed point.
- Any initial point on the line y=$\alpha$ (with $\alpha\neq0 $) with coordinates $(x(0),\alpha)$ goes towards the fixed point $(x(0)^2,0)$ for $t\rightarrow\infty$
The functions $f$ and $g$ may contain the $\alpha$ term
With such a dynamical system at hand, if we wanted to compute the square of a number $a$, all we have to do is to start off with initial conditions $x(0)=a$ and $y(0)=\alpha$ (Just like we place the initial input on the Turing Machine's tape,set the initial state to the starting state and correctly position the head; In this case we place the input $a$ as the x coordinate of the initial point of the phase trajectory) and "let the Dynamical System evolve" (Just like we let the Turing Machine evolve after placing the inputs), the phase trajectory will converge to $a^2$ for $t\rightarrow\infty$ (Assuming the function to be computable, the turing machine stops in finite time and it prints the output on tape; the given dynamical system doesn't stop in finite time but it also "prints the output" as the x coordinate of the evolved phase trajectory for $t\rightarrow\infty$). In other words if we had a "machine M" following the given dynamical system, we could say that: M computes the "square" function asymptotically. (Just like the way the turing machine computes the "square" function in finite time) The computations in this case happens over reals as opposed to that over members of a countable alphabet.
But I cant really think of such functions $f$ and $g$ for computing the "square" function and I need help finding these. Furthermore if I start taking up more complicated functions to compute, finding the corresponding $f$ and $g$ will not be a trivial task. Can someone guide me on what possible difficulties I may face and how I can overcome them?
If I can formulate computation using Dynamical Systems the way I described above, is there a possibility to prove some theorems in computability (and complexity?) using these formulations?