avatarapplied.math.coding

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

6306

Abstract

ams">(L)</span></span> = I = (K \union L)</pre></div><div id="5577"><pre><span class="hljs-function"><span class="hljs-title">f</span><span class="hljs-params">(a)</span></span> = b</pre></div><div id="2ceb"><pre><span class="hljs-function"><span class="hljs-title">f</span><span class="hljs-params">(b)</span></span> = c</pre></div><div id="3960"><pre><span class="hljs-function"><span class="hljs-title">f</span><span class="hljs-params">(c)</span></span> = a</pre></div><div id="8d29"><pre><span class="hljs-title">[</span><span class="hljs-literal">------</span><span class="hljs-comment">K</span><span class="hljs-literal">------</span><span class="hljs-comment">|</span><span class="hljs-literal">-------</span><span class="hljs-comment">L</span><span class="hljs-literal">------</span><span class="hljs-title">]</span> <span class="hljs-comment">a b c</span></pre></div><p id="3ae9">If you remember what we did to ensure <code>lim sup ... > 0</code>, then it was all about ensuring iterates to map from time to time into <code>K</code> in order to gain a positive distance. This, in particular, only worked well because <code>K</code> is mapped back to <code>L</code>, and so ensures that we can follow-up. But how to ensure points are getting again arbitrary close and at the same time to get them distinct by a fixed distance?</p><p id="7b02">The basic idea is contained in the following consideration:</p><p id="3288">By the intermediate value theorem, since <code>f(b) = c</code> and <code>f(c) = a</code>, there exists a point <code>b_1</code> in <code>(b, c)</code> such that</p><div id="c5b9"><pre><span class="hljs-function"><span class="hljs-title">f</span><span class="hljs-params">(b_1)</span></span> = b</pre></div><p id="70ab">Moreover, by the same theorem, since <code>f(b) = c</code> and <code>f(b_1) = b</code>, there exists <code>a_1</code> in <code>[b, b_1) </code>such that</p><div id="f28e"><pre><span class="hljs-function"><span class="hljs-title">f</span><span class="hljs-params">(a_1)</span></span> = c</pre></div><div id="d71a"><pre><span class="hljs-title">[</span><span class="hljs-literal">---------</span><span class="hljs-comment">|</span><span class="hljs-literal">----</span><span class="hljs-comment">|</span><span class="hljs-literal">-----</span><span class="hljs-comment">|</span><span class="hljs-literal">---------</span><span class="hljs-title">]</span> <span class="hljs-comment">a b a_1 b_1 c</span> </pre></div><p id="ae31">By exactly the same argument, we can find another interval</p><div id="158b"><pre>[<span class="hljs-built_in">a_2</span>, b_2] \subset [<span class="hljs-built_in">a_1</span>, b_1]</pre></div><p id="9679">such that</p><div id="706e"><pre><span class="hljs-function"><span class="hljs-title">f</span><span class="hljs-params">(b_2)</span></span> = a_1</pre></div><div id="e5fd"><pre><span class="hljs-function"><span class="hljs-title">f</span><span class="hljs-params">(a_2)</span></span> = b_1</pre></div><div id="690a"><pre><span class="hljs-title">[</span><span class="hljs-literal">---------</span><span class="hljs-comment">|</span><span class="hljs-literal">----</span><span class="hljs-comment">|</span><span class="hljs-literal">----</span><span class="hljs-comment">|</span><span class="hljs-literal">------</span><span class="hljs-comment">|</span><span class="hljs-literal">-----</span><span class="hljs-comment">|</span><span class="hljs-literal">---------</span><span class="hljs-title">]</span> <span class="hljs-comment">a b a_1 a_2 b_2 b_1 c</span></pre></div><p id="1aed">This can be repeated to yield a sequence of intervals</p><div id="7764"><pre>[a_1, b_1] \superset [a_2, b_2] \superset [a_3, b_3] \superset ...</pre></div><p id="24a0">where always <code>f(a_{i+1}) = b_i</code> and <code>f(b_{i+1}) = b_i</code>.</p><p id="a608">In other words, iterates of <code>f</code> map and interval <code>[a_i, b_i]</code> outwards until it is <code>L</code>.</p><p id="c164">The endpoints of this sequences do converge monotonically against endpoint of an interval <code>[a', b']</code>, that is,</p><div id="011e"><pre>a_i -> a' from below</pre></div><div id="97d9"><pre>b_i -> a' from above</pre></div><p id="5e76">Since the function <code>f</code> is assumed to be continuous, we have <code>f(a') = b'</code> and <code>f(b') = a'</code>. Moreover, this shows <code>a' > b</code>, something that becomes important soon.</p><p id="82b6">Two key takeaways from the above construction:</p><ol><li>With <code>n</code> getting larger, the wrapping of <code>[a’, b’]</code> by <code>[a_n, b_n]</code> becomes closer and closer. In particular, the lengths of the intervals <code>[a_n, a’]</code> and <code>[b’, b_n]</code> shrink to <code>0</code>.</li></ol><p id="e97a">2. <code>f^n([a_n, a'] \union [b', b_n]) \superset ([b, a'] \union [b', c])</code>. This easily follows from using the intermediate value theorem and that <code>f(a_{n+1}) = b_n</code>, <code>f(b_{n+1}) = a_n</code>.</p><p id="2972">Therefore, if we ensure that for any point <code>p \in S</code>, some specific iterations under <code>f</code> move <code>p</code> into <code>[b', b_n]</code>, then these points become from time to time arbitrary close on the long run. Moreover, since after <code>n</code> iterations <code>[b', b_n]</code> is mapped to something that contains <code>[b, a']</code> and <code>[b', c]</code> we either can move to <code>K</code> or back to <code>[b', b_n]</code> (note, <code>K \subset f([b', c]</code> and <code>[b', c] \subset f([b, a'])</code>).</p><p id="c1e2">More in details, by making use of Theorem 2 <a href="https://readmedium.com/chaos-from-the-logistic-map-part-1-periodic-points-4f579b713055">here</a>, we may find an interval <code>Q_1 \subset L</code> such that <code>f(Q_1) = [b', b_n]</code>. We know, after <code>n</code> iterations <code>Q_1</code> is mapped to something containing <code>[b, a']</code> and <code>[b', c]</code>. So, we may find another interval <code>Q_2 \subset Q_1</code> such that <code>f^{n+1}(Q_2) = K</code>. Here we used <code>K \subset f^{n+1}(Q_1</code>. Alternatively, we may find a set <code>Q'_2 \subset Q_1</code> such that <code>f^{n+1}(Q'_2) = [b', b_n]</code>.</p><p id="6264">In other w

Options

ords, the first choice would ‘bring’ the image away from <code>[b', c]</code>, and the second repeats the bubbling-up from <code>[b', b_n]</code> to <code>[b, a']</code> <code>\union [b', c]</code>.</p><p id="7a36">Exactly this we can encode in terms of sequences as has been done <a href="https://readmedium.com/chaos-from-the-logistic-map-part-2-scrambled-sets-e918f70f523a">here</a>. We just have to ensure that on that one hand sequences infinitely often come together at the same index into a <code>[b', b_n]</code> for all possible <code>n</code>, and on the other hand they infinitely often become different by one being in <code>K</code> and the other in a <code>[b', b_n]</code>.</p><p id="f57d">There are many ways of achieving this. One is, by just enforcing all sequences to be in <code>[b', b_n]</code> (encoded by <code>0</code>) when the index is of form <code>n^3</code>. Then it takes <code>n</code> steps to ‘bubble-up’ from this small interval, and then sequences either get back into <code>[b', b_n]</code> (encoded by <code>0</code>) or move into <code>K</code> (encoded by <code>1</code>).</p><p id="e47a">To each sequence there is a unique decreasing series of compact intervals <code>(Q_i)i</code> (see above) which intersection intersection determines a point <code>p</code>. The set of all these points shall be denoted by <code>S</code> and we have achieved the following:</p><blockquote id="a68e"><p>For any <code>p, p’ \in S</code></p></blockquote><blockquote id="7c83"><p><code>lim sup_n |f^n(p) —f^n(p’)| > 0</code></p></blockquote><blockquote id="84df"><p><code>lim inf_n |f^n(p) — f^n(p’)| = 0</code></p></blockquote><p id="64bc">Moreover, like we did <a href="https://readmedium.com/chaos-from-the-logistic-map-part-2-scrambled-sets-e918f70f523a">here</a> we can make <code>S</code> containing no periodic points and only those that belong to sequences that a different infinitely often. It is not hard to see that <code>S</code> is then an uncountable set.</p><p id="af71">We see, although we had to do a little more detailed work than in the related predecessor stories, the final result is worth it.</p><p id="9137">Next, let us underpin all this with some numerical experiments. As already pointed out, the dynamical system generated by the logistic maps fulfills for certain parameters the above requirement. Especially, this takes place when it has periodic points of order <code>3</code> (see <a href="https://readmedium.com/chaos-from-the-logistic-map-part-1-periodic-points-4f579b713055">here</a>).</p><p id="c3f4">We are going to consider the case <code>r = 3.9</code>, that is, our dynamical system is the following:</p><div id="f84c"><pre><span class="hljs-attribute">f</span>(x) = <span class="hljs-number">3</span>.<span class="hljs-number">9</span> * x * (<span class="hljs-number">1</span> - x)</pre></div><div id="3a41"><pre><span class="hljs-attribute">x</span>{n+<span class="hljs-number">1</span>} = <span class="hljs-number">3</span>.<span class="hljs-number">9</span> * x_n * (<span class="hljs-number">1</span> - x_n)</pre></div><p id="f63d">By Newton’s method, that is converging quadratically in our case, we determine a point of period <code>3</code>. That is, we solve <code>f^3(x) — x = 0</code> with a starting point <code>0.4</code> and using <code>10^8</code> iterations (very exact!), to yield</p><div id="6f59"><pre><span class="hljs-attribute">p</span> <span class="hljs-operator">=</span> <span class="hljs-number">0.4487177531952602</span>...</pre></div><p id="2ff4">Next, let us plot the first <code>100</code> iterations starting at <code>p</code>:</p><figure id="ab0c"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*LMdZTy_pcka7VL-vVNo8Lw.png"><figcaption></figcaption></figure><p id="51b3">As we can see, only after <code>70</code> iterations, we leave the periodic behavior and enter a region where now clear pattern is observable. This is due to slight rounding errors that appear during the iterations have fatal influence on the qualitative behavior of the dynamics.</p><p id="6ca5">If we iterate the first <code>1000</code> steps starting with at <code>p</code> and then plot the the next <code>100</code> iterations the result becomes this:</p><figure id="dd72"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*IHyRfphg9pA3_ivRgcMdCQ.png"><figcaption></figcaption></figure><p id="1961">Now let us compare how the situation changes when we start at a periodic point <code>p_s</code> that has a <b>stable orbit</b>. Such points have the property</p><div id="a1b8"><pre><span class="hljs-keyword">For</span> x chosen suitable <span class="hljs-keyword">near</span> p_s</pre></div><div id="cf1d"><pre>|<span class="hljs-string">f^k(x) - f^k(p_s)</span>|<span class="hljs-string"> < </span>|<span class="hljs-string">x - p_s</span>|<span class="hljs-string"> for all 0 < k </= n</span></pre></div><div id="03d6"><pre><span class="hljs-keyword">where</span> n <span class="hljs-keyword">is</span> the <span class="hljs-keyword">order</span> of the period.</pre></div><p id="ad8e">This property says that starting with an initial value <code>x</code> near <code>p_s</code>, the iterations remain near to the hypothetical exact iterations at <code>p_s</code>.</p><p id="a700">For the logistic dynamics such a point exists for <code>r = 3.627</code> at <code>p_s = 0.4976878736755614 …</code> that has a period of <code>6</code>. For two initial points, one at <code>p_s</code> and the other at <code>0.53</code>, we do like above <code>1000</code> iterations and then plot <code>100</code> further iterations. The result is this:</p><figure id="a056"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*sm5uy4p4QG7vciCy3PUTcg.png"><figcaption></figcaption></figure><p id="90c1">As you can see, the fact that the orbit is stable, makes the qualitative behavior of the system predictable near regions of <code>p_s</code>. I hope, these both examples make it a little bit clear what problems we are facing at chaotic regimes of dynamic systems.</p><p id="63eb">This original inventors of above results shall gain all credit. You may find their original work <a href="https://www.jstor.org/stable/2318254">here</a>.</p><p id="b0b6">Thanks for reading!</p></article></body>

Chaos from the Logistic Map. Part 3: “Scrambled Sets (extended).”

This story intends to bring the construction of a ‘scrambled set’ that we started here to a conclusive end. The techniques we are going to use are once more taken from here and are mathematically not very sophisticated.

My intend is to make the text as readable as possible, but due to this environment’s lack of support for latex symbols, please apologize for making the following abbreviations:

f^k(x): denotes k-times composition of f, that is: f^3(x) f(f(f(x)))
A \intersect B:  means the intersection of the sets A and B
A \subset B:  means A is a subset of B
A \superset B: means A is a superset of B
A \union B: means the union of A and B
\empty: denotes the empty set
x \in B: means x is element of B
x \notin B: mean x is not element of B

In our previous story we arrived at an uncountable set S within a compact interval I such that for a function with certain mapping criteria we have for any distinct pair p, p' \in S,

lim sup_i |f^i(p) - f^i(p')| > 0

In other words, for a very large part of I, two points will have distinct iterates under f at arbitrary high levels. So, if we iterate f for various initial points in I, say 10,000 times, and then plotting the next 1000 iterates for all these points, we still very certainly have points that do not expose any regular pattern.

Our aim will be to show that S contains another uncountable set, that in addition to the above

lim inf_i |f^i(p) - f^i(p')| = 0

In other words, two points p and p' after arbitrary large iterations, will again deviate by a constant distance from each and will come arbitrary close to each other.

“This would make the chaos complete”.

First of all, let us repeat the requirements we impose onto f:

f maps the interval I onto itself ,and I can be separated into two intervals K, L such that

f(K) = L
f(L) = I = (K \union L)
f(a) = b
f(b) = c
f(c) = a
[------K------|-------L------]
a             b              c

If you remember what we did to ensure lim sup ... > 0, then it was all about ensuring iterates to map from time to time into K in order to gain a positive distance. This, in particular, only worked well because K is mapped back to L, and so ensures that we can follow-up. But how to ensure points are getting again arbitrary close and at the same time to get them distinct by a fixed distance?

The basic idea is contained in the following consideration:

By the intermediate value theorem, since f(b) = c and f(c) = a, there exists a point b_1 in (b, c) such that

f(b_1) = b

Moreover, by the same theorem, since f(b) = c and f(b_1) = b, there exists a_1 in [b, b_1) such that

f(a_1) = c
[---------|----|-----|---------]
a         b   a_1   b_1        c    

By exactly the same argument, we can find another interval

[a_2, b_2] \subset [a_1, b_1]

such that

f(b_2) = a_1
f(a_2) = b_1
[---------|----|----|------|-----|---------]
a         b   a_1  a_2    b_2   b_1        c

This can be repeated to yield a sequence of intervals

[a_1, b_1] \superset [a_2, b_2] \superset [a_3, b_3] \superset ...

where always f(a_{i+1}) = b_i and f(b_{i+1}) = b_i.

In other words, iterates of f map and interval [a_i, b_i] outwards until it is L.

The endpoints of this sequences do converge monotonically against endpoint of an interval [a', b'], that is,

a_i -> a' from below
b_i -> a' from above

Since the function f is assumed to be continuous, we have f(a') = b' and f(b') = a'. Moreover, this shows a' > b, something that becomes important soon.

Two key takeaways from the above construction:

  1. With n getting larger, the wrapping of [a’, b’] by [a_n, b_n] becomes closer and closer. In particular, the lengths of the intervals [a_n, a’] and [b’, b_n] shrink to 0.

2. f^n([a_n, a'] \union [b', b_n]) \superset ([b, a'] \union [b', c]). This easily follows from using the intermediate value theorem and that f(a_{n+1}) = b_n, f(b_{n+1}) = a_n.

Therefore, if we ensure that for any point p \in S, some specific iterations under f move p into [b', b_n], then these points become from time to time arbitrary close on the long run. Moreover, since after n iterations [b', b_n] is mapped to something that contains [b, a'] and [b', c] we either can move to K or back to [b', b_n] (note, K \subset f([b', c] and [b', c] \subset f([b, a'])).

More in details, by making use of Theorem 2 here, we may find an interval Q_1 \subset L such that f(Q_1) = [b', b_n]. We know, after n iterations Q_1 is mapped to something containing [b, a'] and [b', c]. So, we may find another interval Q_2 \subset Q_1 such that f^{n+1}(Q_2) = K. Here we used K \subset f^{n+1}(Q_1. Alternatively, we may find a set Q'_2 \subset Q_1 such that f^{n+1}(Q'_2) = [b', b_n].

In other words, the first choice would ‘bring’ the image away from [b', c], and the second repeats the bubbling-up from [b', b_n] to [b, a'] \union [b', c].

Exactly this we can encode in terms of sequences as has been done here. We just have to ensure that on that one hand sequences infinitely often come together at the same index into a [b', b_n] for all possible n, and on the other hand they infinitely often become different by one being in K and the other in a [b', b_n].

There are many ways of achieving this. One is, by just enforcing all sequences to be in [b', b_n] (encoded by 0) when the index is of form n^3. Then it takes n steps to ‘bubble-up’ from this small interval, and then sequences either get back into [b', b_n] (encoded by 0) or move into K (encoded by 1).

To each sequence there is a unique decreasing series of compact intervals (Q_i)_i (see above) which intersection intersection determines a point p. The set of all these points shall be denoted by S and we have achieved the following:

For any p, p’ \in S

lim sup_n |f^n(p) —f^n(p’)| > 0

lim inf_n |f^n(p) — f^n(p’)| = 0

Moreover, like we did here we can make S containing no periodic points and only those that belong to sequences that a different infinitely often. It is not hard to see that S is then an uncountable set.

We see, although we had to do a little more detailed work than in the related predecessor stories, the final result is worth it.

Next, let us underpin all this with some numerical experiments. As already pointed out, the dynamical system generated by the logistic maps fulfills for certain parameters the above requirement. Especially, this takes place when it has periodic points of order 3 (see here).

We are going to consider the case r = 3.9, that is, our dynamical system is the following:

f(x) = 3.9 * x * (1 - x)
x_{n+1} = 3.9 * x_n * (1 - x_n)

By Newton’s method, that is converging quadratically in our case, we determine a point of period 3. That is, we solve f^3(x) — x = 0 with a starting point 0.4 and using 10^8 iterations (very exact!), to yield

p = 0.4487177531952602...

Next, let us plot the first 100 iterations starting at p:

As we can see, only after 70 iterations, we leave the periodic behavior and enter a region where now clear pattern is observable. This is due to slight rounding errors that appear during the iterations have fatal influence on the qualitative behavior of the dynamics.

If we iterate the first 1000 steps starting with at p and then plot the the next 100 iterations the result becomes this:

Now let us compare how the situation changes when we start at a periodic point p_s that has a stable orbit. Such points have the property

For x chosen suitable near p_s
|f^k(x) - f^k(p_s)| < |x - p_s|    for all 0 < k </= n
where n is the order of the period.

This property says that starting with an initial value x near p_s, the iterations remain near to the hypothetical exact iterations at p_s.

For the logistic dynamics such a point exists for r = 3.627 at p_s = 0.4976878736755614 … that has a period of 6. For two initial points, one at p_s and the other at 0.53, we do like above 1000 iterations and then plot 100 further iterations. The result is this:

As you can see, the fact that the orbit is stable, makes the qualitative behavior of the system predictable near regions of p_s. I hope, these both examples make it a little bit clear what problems we are facing at chaotic regimes of dynamic systems.

This original inventors of above results shall gain all credit. You may find their original work here.

Thanks for reading!

Dynamic Systems
Chaos Theory
Logistic Map
Scrambled Sets
Mathematics
Recommended from ReadMedium