avatarapplied.math.coding

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

5901

Abstract

tself, that is,</p></blockquote><blockquote id="7c5c"><p><code>J \subset f(J)</code></p></blockquote><blockquote id="811d"><p>then there is some point <code>p</code> in <code>J</code> such that</p></blockquote><blockquote id="2714"><p><code>f(p) = p</code></p></blockquote><p id="e694">Such points usually are called fixed points and the above theorem is the 1-dimensional case of the <a href="https://en.wikipedia.org/wiki/Brouwer_fixed-point_theorem">fix-point theorem of Brouwer</a> — but is way easier to prove for this case than for higher dimensions.</p><p id="f8e5">A criterion for a map <code>f</code> to have periods of order higher than <code>1</code> is a little more involved. For a period of <code>k > 1</code>, it basically must ensure that it maps a point <code>p</code> <code>k-1</code> times into a point distinct from <code>p</code> and the <code>k</code>'th time exactly on <code>p</code>:</p><div id="6b35"><pre>f^{i}(p) != <span class="hljs-selector-tag">p</span> <span class="hljs-keyword">for</span> <span class="hljs-attribute">all</span> i < k</pre></div><div id="ae45"><pre><span class="language-xml">f^</span><span class="hljs-template-variable">{k}</span><span class="language-xml">(p) = p</span></pre></div><p id="6ced">One way to ‘achieve’ this is by having two distinct intervals <code>K</code> and <code>L</code> in <code>I</code></p><div id="d367"><pre><span class="hljs-built_in">K</span> <span class="hljs-variable">subset</span> <span class="hljs-built_in">I</span></pre></div><div id="df97"><pre>L \subset <span class="hljs-selector-tag">I</span></pre></div><div id="2359"><pre>K <span class="hljs-built_in">intersect</span> L = <span class="hljs-literal">empty</span></pre></div><div id="77f5"><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">K</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">L</span><span class="hljs-literal">---</span><span class="hljs-comment">|</span><span class="hljs-literal">---</span><span class="hljs-title">]</span></pre></div><p id="2944">and an interval <code>Q \subset L</code> such that</p><div id="aa81"><pre>f^{<span class="hljs-selector-tag">i</span>}(<span class="hljs-selector-tag">Q</span>) \subset L for <span class="hljs-selector-tag">i</span> < k-<span class="hljs-number">1</span></pre></div><p id="afd8">So, the first <code>k-1</code> iterations leaves <code>Q</code> in <code>L</code> and one further brings it to <code>K</code>:</p><div id="f881"><pre><span class="hljs-attribute">f</span>^{k-<span class="hljs-number">1</span>}(Q) \subset K</pre></div><p id="c247">Afterwards, yet another iteration brings it back to <code>L</code>:</p><div id="58a3"><pre>L \subset f^{k}(<span class="hljs-selector-tag">Q</span>) </pre></div><p id="0905">Then Theorem 1 would ensure <code>f^k</code> to have a point <code>p</code> in <code>L</code> with <code>f^k(p) = p</code>. This indeed must be a period of order <code>k</code> since for all other <code>i </= k</code>, <code>f^i(p)</code> cannot coincide with <code>p</code>, otherwise <code>f^{k-1}(p) \subset K</code> would not be possible.</p><p id="cb3b">Note, the above mapping could also be encoded as sequence of intervals that present the images under <code>f</code>:</p><div id="d931"><pre><span class="hljs-function"><span class="hljs-title">L</span></span> L L ... L L K L \ / k<span class="hljs-number">-2</span> times</pre></div><blockquote id="d862"><p><b>Assertion</b></p></blockquote><blockquote id="a6d8"><p>A map with the above ability would be one that maps <code>K</code> onto <code>L</code> and <code>L</code> back onto the interval <code>K \union L</code>:</p></blockquote><blockquote id="1f7d"><p><code>L \subset f(K)</code></p></blockquote><blockquote id="075e"><p><code><i>K \union L</i> \subset f(L)</code></p></blockquote><p id="34d4">For this to see we utilize the following easy to proof theorem:</p><blockquote id="b237"><p><b>Theorem 2</b></p></blockquote><blockquote id="e085"><p>Let <code>U, V</code> be closed intervals in <code>I</code> such that <code>V \subset f(U)</code>, then there is an interval <code>Q \subset U</code> such that <code>f(Q) = V</code>.</p></blockquote><p id="df52">In other words, we are able to find a subset <code>Q</code> in <code>U</code> such that <code>f</code> is meeting exactly the ‘target’ <code>V</code>.</p><p id="d823">As outlined above, the first <code>k-2</code> iterations <code>f</code> should map to something that is contained in <code>L</code> and at the end is large enough to map onto <code>K</code>.</p><p id="51c9">In <code>L</code>, since <code>L \subset f(L)</code>, by Theorem 2, we may find an interval <code>Q_1</code> such that</p><div id="aee3"><pre><span class="hljs-attribute">f</span>^<span class="hljs-number">1</span>(Q_1) = L</pre></div><p id="6df4">For the same reason, because <code>f^2(Q_1) = f(L) \superset L</code>, we may find another interval <code>Q_2 \subset Q_1</code> such that</p><div id="5153"><pre><span class="hljs-attribute">f</span>^<span class="hljs-number">2</span>(Q_2) = L</pre></div><p id="a933">This way we can proceed to get a sequence of intervals</p><div id="0076"><pre>Q_1 <span class="hljs-string">\superset</span> Q_2 <span class="hljs-string">\superset</span> Q_3 <span class="hljs-string">\superset</span> ... <span class="hljs-string">\superset</span> Q_{k-<span class="hljs-number">2</span>}</pre></div><p id="3507">such that</p><div id="5b67"><pre><span class="language-xml">f^</span><span class="hljs-template-variable">{i}</span><span class="language-xml">(Q_i) = L</span></pre></div><p id="cd78">Then since <code>K \subs

Options

et f(L)</code>, we find <code>Q_{k-1} \subset Q_{k-2}</code> with</p><div id="a7c8"><pre><span class="hljs-attribute">f</span>^{k-<span class="hljs-number">1</span>}(Q_{k-<span class="hljs-number">1</span>}) = K</pre></div><p id="f2c9">And finally, because of <code>L_2 \subset f(K)</code>, there is <code>Q_k \subset Q_{k-1}</code> with</p><div id="374f"><pre><span class="language-xml">f^</span><span class="hljs-template-variable">{k}</span><span class="language-xml">(Q_k) = L</span></pre></div><p id="2410">This technique is a little like shooting the point <code>p</code> under iterates of <code>f</code>, but for the more iterates we want to dictate <code>p</code> landing in some region, the more we have to aim initially. The same technique can be used to find other interesting points that we are going consider in a later story.</p><p id="f888">Let us sum-up what has been shown above:</p><blockquote id="436b"><p><b>Theorem 3</b></p></blockquote><blockquote id="42d5"><p>A continuous map <code>f: I -> I</code> that is mapping two disjoint intervals <code>L </code>and <code>K </code>like</p></blockquote><blockquote id="bf73"><p><code><i>L \subset f(K)</i></code></p></blockquote><blockquote id="065f"><p><code><i>K \union L \subset f(L)</i></code></p></blockquote><blockquote id="7a83"><p>has <b>periodic points</b> <b>of all orders</b>.</p></blockquote><p id="ee49">A map having periods of all orders already is quite an amazing feature. In particular, this means, since <code>I</code> is compact, the periodic points must accumulate somewhere. Therefore, there exists regions where we find arbitrary close points that have arbitrary different periods. So, to jump from a periodic orbit to another can be a matter of ‘millimeters’ and especially leads to fatal problems when it comes to computer-based simulations.</p><h2 id="f840">Logistic map:</h2><p id="d0cd">A map that is famous for showing the above described behavior is the so called <a href="https://en.wikipedia.org/wiki/Logistic_map">logistic map</a>:</p><div id="b0fe"><pre>f: <span class="hljs-comment">[0,1]</span> -> <span class="hljs-comment">[0,1]</span></pre></div><div id="21d2"><pre><span class="hljs-keyword">x</span> |-> r*<span class="hljs-keyword">x</span>*(<span class="hljs-number">1</span>-<span class="hljs-keyword">x</span>)</pre></div><div id="0cec"><pre><span class="hljs-keyword">with</span> r <span class="hljs-keyword">in</span> [<span class="hljs-number">0</span>, <span class="hljs-number">4</span>]</pre></div><p id="de2a">This map arrives in so many applications (biology, chemistry, …) that it deems of highest interest to have a theoretical sound investigation — and very much has been done on this subject! We describe only a tiny but fundamental slice of this.</p><p id="ef8b">For different values of <code>r</code> we can consider roots within <code>[0,1]</code> of the algebraic equations</p><div id="9f97"><pre>f(<span class="hljs-keyword">x</span>) - <span class="hljs-keyword">x</span> f^<span class="hljs-number">2</span>(<span class="hljs-keyword">x</span>) - <span class="hljs-keyword">x</span> f^<span class="hljs-number">3</span>(<span class="hljs-keyword">x</span>) - <span class="hljs-keyword">x</span></pre></div><p id="79d3">to figure out where the dynamical system driven by <code>f</code> has points of period <code>3</code>:</p><figure id="04b2"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*nwExFFG_7SiAToUNtgmOdg.png"><figcaption></figcaption></figure><p id="9476">Points of period <code>3</code> are interesting in the context of this article because they imply the prerequisites of Theorem 3. This is again an application of the theorem of intermediate values:</p><p id="ffab">Assume the periodic orbit is <code>a < b < c</code> with <code>f(a) = b, f^2(a) = c, f^3(a) = a</code>. In other words, <code>f(a) = b, f(b) = c, f(c) = a</code>. We can set <code>K := [a,b]</code> and <code>L := [b, c]</code> and see by the intermediate value theorem:</p><div id="77cf"><pre><span class="hljs-selector-attr">[b,c]</span> \subset <span class="hljs-built_in">f</span>([a,b])</pre></div><div id="0c4a"><pre><span class="hljs-selector-attr">[a, c]</span> \subset <span class="hljs-built_in">f</span>([b,c]) </pre></div><p id="cd64">The graph above presents the typical shape for values of <code>r</code> over <code>3.9</code>. A somewhat more interesting graph is the sometimes called <b>bifurcation diagram</b>:</p><figure id="60ef"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*jWsucdkkFTR2ZLklqbS8KQ.png"><figcaption></figcaption></figure><p id="3dbc">This shows for values of <code>r</code> in the range <code>[0, 4]</code> how the iterations evolve. This is, for a single <code>r</code> and some random <code>x_0</code> in <code>[0,1]</code>, we compute <code>f^50,000(x_0)</code>, and then plot the last <code>1000</code> values of this iteration into the diagram (vertical axis). This we do for each value of <code>r</code> (horizontal axis).</p><p id="1a71">The next simulation shows if we zoom into the area of <code>[3, 4]</code>:</p><figure id="37e7"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*djAA1JlW6I-IzQw_BsKKlg.png"><figcaption></figcaption></figure><p id="58a4">The regions at the left that display paths, belong to those where only a finite number of periodic points exists. The black regions indicate the applicability of the above theory, and we can be certain periodic points of all orders do exist. Actually, there is much more to say about these diagrams.</p><p id="68df">If you are interested in how to exactly produce such a bifurcation diagram with zooming functionality in Tauri/Rust, then let me refer you to this <a href="https://readmedium.com/producing-a-bifurcation-diagram-in-tauri-rust-d2867ff1387f">article</a>.</p><p id="598d">Thanks for reading!</p></article></body>

Chaos from the Logistic Map. Part 1: “Periodic Points.”

The aim with this story is to present one of the most famous theorems in the research of chaotic maps. Before getting shrug-off too much, let me note early, this theorem is mathematically not more involved from what one learns in a first course of university level mathematics.

Throughout this account we will assume any considered map f to be a continuous real-valued function defined on some compact interval I. Moreover, we will assume f(I) \subset I. Therefore, we are able to build iterates like f^n(x), that denote n-times application of f onto the point x.

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

The two theorems stated below that are utilized in our argumentation do follow easily from the well known intermediate value theorem. So one could say, everything what is done here and in subsequent articles is an implication of this theorem!

Next, let us define what a periodic point is:

Definition (Periodic points)

A point p in I is called periodic with period k if

f^k(p) = p

f^i(p) != p for all 1 </= i < p

Periods are interesting to investigate for dynamic systems, that is, iterates of f, because some if these are stable. This in particular means that for points x sufficiently near to a stable periodic point p of period k, remain their distance after k iterations:

|f^k(x) - p| < |x - p|

In case a system f has only stable periodic points, we can focus our attention to these points in order to understand the system.

A criterion a map to have periodic points.

First we have the following theorem:

Theorem 1

If a map f: I -> I maps some interval J \subset I onto itself, that is,

J \subset f(J)

then there is some point p in J such that

f(p) = p

Such points usually are called fixed points and the above theorem is the 1-dimensional case of the fix-point theorem of Brouwer — but is way easier to prove for this case than for higher dimensions.

A criterion for a map f to have periods of order higher than 1 is a little more involved. For a period of k > 1, it basically must ensure that it maps a point p k-1 times into a point distinct from p and the k'th time exactly on p:

f^{i}(p) != p   for all i < k
f^{k}(p) = p

One way to ‘achieve’ this is by having two distinct intervals K and L in I

K \subset I
L \subset I
K \intersect L = \empty
[--|---K---|----|---L---|---]

and an interval Q \subset L such that

f^{i}(Q) \subset L       for i < k-1

So, the first k-1 iterations leaves Q in L and one further brings it to K:

f^{k-1}(Q) \subset K

Afterwards, yet another iteration brings it back to L:

L \subset f^{k}(Q) 

Then Theorem 1 would ensure f^k to have a point p in L with f^k(p) = p. This indeed must be a period of order k since for all other i </= k, f^i(p) cannot coincide with p, otherwise f^{k-1}(p) \subset K would not be possible.

Note, the above mapping could also be encoded as sequence of intervals that present the images under f:

L L L ... L L K L
 \         /
  k-2 times

Assertion

A map with the above ability would be one that maps K onto L and L back onto the interval K \union L:

L \subset f(K)

K \union L \subset f(L)

For this to see we utilize the following easy to proof theorem:

Theorem 2

Let U, V be closed intervals in I such that V \subset f(U), then there is an interval Q \subset U such that f(Q) = V.

In other words, we are able to find a subset Q in U such that f is meeting exactly the ‘target’ V.

As outlined above, the first k-2 iterations f should map to something that is contained in L and at the end is large enough to map onto K.

In L, since L \subset f(L), by Theorem 2, we may find an interval Q_1 such that

f^1(Q_1) = L

For the same reason, because f^2(Q_1) = f(L) \superset L, we may find another interval Q_2 \subset Q_1 such that

f^2(Q_2) = L

This way we can proceed to get a sequence of intervals

Q_1 \superset Q_2 \superset Q_3 \superset ... \superset Q_{k-2}

such that

f^{i}(Q_i) = L

Then since K \subset f(L), we find Q_{k-1} \subset Q_{k-2} with

f^{k-1}(Q_{k-1}) = K

And finally, because of L_2 \subset f(K), there is Q_k \subset Q_{k-1} with

f^{k}(Q_k) = L

This technique is a little like shooting the point p under iterates of f, but for the more iterates we want to dictate p landing in some region, the more we have to aim initially. The same technique can be used to find other interesting points that we are going consider in a later story.

Let us sum-up what has been shown above:

Theorem 3

A continuous map f: I -> I that is mapping two disjoint intervals L and K like

L \subset f(K)

K \union L \subset f(L)

has periodic points of all orders.

A map having periods of all orders already is quite an amazing feature. In particular, this means, since I is compact, the periodic points must accumulate somewhere. Therefore, there exists regions where we find arbitrary close points that have arbitrary different periods. So, to jump from a periodic orbit to another can be a matter of ‘millimeters’ and especially leads to fatal problems when it comes to computer-based simulations.

Logistic map:

A map that is famous for showing the above described behavior is the so called logistic map:

f: [0,1] -> [0,1]
x |-> r*x*(1-x)
with r in [0, 4]

This map arrives in so many applications (biology, chemistry, …) that it deems of highest interest to have a theoretical sound investigation — and very much has been done on this subject! We describe only a tiny but fundamental slice of this.

For different values of r we can consider roots within [0,1] of the algebraic equations

f(x) - x
f^2(x) - x
f^3(x) - x

to figure out where the dynamical system driven by f has points of period 3:

Points of period 3 are interesting in the context of this article because they imply the prerequisites of Theorem 3. This is again an application of the theorem of intermediate values:

Assume the periodic orbit is a < b < c with f(a) = b, f^2(a) = c, f^3(a) = a. In other words, f(a) = b, f(b) = c, f(c) = a. We can set K := [a,b] and L := [b, c] and see by the intermediate value theorem:

[b,c] \subset f([a,b])
[a, c] \subset f([b,c]) 

The graph above presents the typical shape for values of r over 3.9. A somewhat more interesting graph is the sometimes called bifurcation diagram:

This shows for values of r in the range [0, 4] how the iterations evolve. This is, for a single r and some random x_0 in [0,1], we compute f^50,000(x_0), and then plot the last 1000 values of this iteration into the diagram (vertical axis). This we do for each value of r (horizontal axis).

The next simulation shows if we zoom into the area of [3, 4]:

The regions at the left that display paths, belong to those where only a finite number of periodic points exists. The black regions indicate the applicability of the above theory, and we can be certain periodic points of all orders do exist. Actually, there is much more to say about these diagrams.

If you are interested in how to exactly produce such a bifurcation diagram with zooming functionality in Tauri/Rust, then let me refer you to this article.

Thanks for reading!

Dynamic Systems
Chaos Theory
Logistic Map
Periodic Points
Mathematics
Recommended from ReadMedium