2
$\begingroup$

I have observed when simulating a Tent map that its chaotic dynamics and attractor is not dense as that of Logistic map. Moreover, when simulating the Tent map, the plot of time series (plot of $x$ variable with respect to number of iterations) stops fluctuating and no values are observed after n=50. An example is shown in the figure. The image shows the time series plot of the state variable x and the graph is obtained in Matlab. This is only seen for the Tent Map. I have simulated other 1 D and other chaotic systems, but only for Tent map there is no value after a certain number of iterations. I have not found any information regarding such a behavior. Can somebody please tell me why this is happening? The initial value is randomly generated between 0 and 1.

img

$\endgroup$
  • 1
    $\begingroup$ Are you using IEEE 754 double floating point calculations by any chance? $\endgroup$ – WimC Oct 2 '17 at 5:54
  • $\begingroup$ Just to state that there is a chat room on Dynamical Systems and Chaos theory , in order to gain attention of users interested in the area of Dynamical Systems,Non linear Dynamics,Chaos theory! $\endgroup$ – BAYMAX Oct 2 '17 at 6:16
  • $\begingroup$ By default, MATLAB® uses 16 digits of precision. $\endgroup$ – Adam Jun 28 '19 at 17:23
  • $\begingroup$ commons.wikimedia.org/wiki/… $\endgroup$ – Adam Jun 28 '19 at 18:47
  • $\begingroup$ It should be noted that here the parameter of the tent map is 2 $\endgroup$ – Adam Jun 28 '19 at 19:29
3
$\begingroup$

You are experiencing an unfortunate interplay between computer numerics and dynamical systems.

In a binary representation $x$ the signicand part comes with a certain number of bits. Multiplying by two (and mapping the result back into $[0,1]$) shifts those bits, and the last bit becomes zero. When the significand at the starts is represented by 50 bits it becomes identically zero after 50 iterations.

This happens for a couple of dynamical systems where chaos comes from multiplication by 2, 4 ,8,...

The tent map as defined by $f(x) = 1 - |2x-1|$, on $[0,1]$ also works this way by successively putting least significant digit to zero and shifting to the left. Other examples are: $f(x) = 4x \; {\rm mod} \; 1$ (which removes two digits at the time, so it gets constant within 25 iterations only), or a more complicated one: $$ f(x) = \left\{ \begin{matrix} 4x & & x\in [0,1/4)\\ 2-4x & & x\in [1/4,1/2) \\ 2x-1 & & x \in [1/2,1] \end{matrix} \right. $$ Again at each iteration at least one more least significant binary digit becomes zero.

On the other hand, $f(x) = 3x \; {\rm mod} \; 1 $ is chaotic in binary representation (at least sufficiently for you to notice the computer errors). Similarly $f(x) = 4x(1-x)$ on $[0,1]$ is chaotic also in binary arithmetics. Indeed multiplying by 4 sets the two last digits to zero, but the product $x(1-x)$ will make these last two digits 'random' again. So apart from the last two digits (being zero) the numbers obtained on computer from $x_{n+1}=4 x_n(1-x_n)$ will appear random (with respect to a certain calculable distribution) when starting from a random initial number in $(0,1)$.

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ What is the name of this error ? Is it loss of significance ? $\endgroup$ – Adam Jun 28 '19 at 19:06
  • $\begingroup$ sciencedirect.com/science/article/pii/S1007570418300716 $\endgroup$ – Adam Jun 28 '19 at 19:23
  • 1
    $\begingroup$ @Adam I don't think it has a specific name. It is not really loss of significance, but rather a problem of (the binary) representation. When choosing your initial point "randomly" in fact it is very "non-random" for a dynamical system that multiplies by 2 but fine if you multiply by e.g. 3. The citation you give, (artificially) circumvene this problem by adding a noise on the last digits. Probably the cheapest way to get something which behaves as expected (but a mathematical rigorous treatment is not easy). $\endgroup$ – H. H. Rugh Jun 30 '19 at 9:26
  • $\begingroup$ iopscience.iop.org/article/10.1088/1742-6596/955/1/012025 $\endgroup$ – Adam Jul 7 '19 at 19:27
0
$\begingroup$

The question was answered, but I would like to give brute force solution based on above answer: increasing precision ( and digits of initial value) moves the problem to higher iterations.

One needs:

  • iMax binary digits
  • 5+iMax/3.6 decimal digits

Here iMax is maximal number of iterations

enter image description here enter image description here

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.