Category Archives: Fractals & Chaos

Fractals & Chaos Recap for 12/15

Today we had the opportunity to play with our next Very Important Program: Complex Paint. This software was created by former F&C students Devon Loehr and Connor Simpson, and will be invaluable to us going forward. We’ll discuss all the features of the program as they become relevant, but after downloading/unzipping the folder listed in the Google Drive folder linked, read the README file for help on how to use the software. We started our analysis with the top half of a new worksheet, exploring and developing summary ideas of iterations of complex linear functions of the form Az+B. We saw that A is the major factor in the type of fixed point we get, while B only seems to affect where the fixed point is. This didn’t come as a significant surprise considering we made a similar observation about the slope and y-intercept of the linear functions we iterated in the real numbers.

We also finally developed a Polar Form for a linear function. Instead of always converting A from polar to rectangular in order to enter it into Complex Paint, we can instead use the form A = Rcos(2πT) + i*Rsin(2πT), where T represents the fraction of a full turn we are attempting to rotate our iterated points by (e.g., if we want a 180° rotation, T = 1/2; if we want a 45° rotation, T = 1/8). This eliminates the need to consider degree vs. radian mode for measuring angles.

Your homework over the weekend: continue the analysis we were doing in class on the Complex Paint worksheet, completing Part II up through T = 0.32. Do not go past that point just yet!

Fractals & Chaos Recap for 12/12

After reviewing the rectangular/polar coordinate conversions we started yesterday, we revisited the original composition of transformations we looked at on Monday, noting that the Dilation x1/2, Rotation 45°, and Translation up 4 corresponds to an iteration of the function Az+B, where

  • A = [.5, 45°] = √(2)/4 + √(2)/4i
  • B = (0, 4) = 4i

Iterating this function allowed us to find that the coordinates of the attracting fixed point we identified earlier to be roughly positioned at (-2.605, 4.763) (or equivalent to the complex number -2.605+4.763i).

From there, we looked at a few problems from the back of the Complex Transformations Sheet, identifying again the specific geometric transformations that each complex linear function would produce and sketching the new location of a point that underwent that transformation. Your homework is to finish the back of that sheet

With the time we had left, we introduced a new piece of software: Complex Paint, a tool for more easily illustrating the transformations we have been identifying. We will work with this in more detail tomorrow.

Fractals & Chaos Recap for 12/11

Yesterday, we identified that adding complex numbers is equivalent to translating a point and multiplying complex numbers is equivalent to dilating and rotating that point. Furthermore, we noted that while the conventional rectangular coordinates for identifying a complex number are useful for identifying the direction and distance of a translation, to properly understand the dilation/rotation we need the polar coordinates.

Today, we quickly reviewed converting between rectangular and polar form at the start of class, then spent a considerable amount of time in class practicing this conversion and identifying the transformations they refer to. This work was on the Complex Numbers Transformations sheet and together we finished some of the front and about half of the back. Your homework is to finish the front.

Fractals & Chaos Recap for 12/10

We saw yesterday that a sequence of geometric transformations can illustrate the same “fixed point attractor” behavior that we’ve seen when iterating a mathematical expression. We explained this by illustrating that such geometric transformations are analogous to iterating a linear function in the Complex number system. Specifically, adding two complex numbers is analogous to translating, and multiplying two complex numbers is analogous to a combined dilation/rotation.

The conventional rectangular form of a complex number a + bi tells us the horizontal and vertical components of the translation achieved by adding the complex number, but this form is not useful for when the number is being used as a multiplication factor. For that, we need the number’s Polar Form. Once finding it, the value of r tells us the dilation factor and the value of θ tell us the rotation factor.

We’ll dig in to this some more tomorrow, but for now please watch this video recapping polar vs rectangular coordinates (which the video refers to as “Cartesian coordinates”) and how to convert between the two.

Fractals & Chaos Recap for 12/9

We wrapped up our conversation about numbers of cycles findable in the Feigenbaum Plot, noting again that for every attracting cycle we find, there is an accompanying “evil twin” repelling cycle. These “evil twin” repelling cycles serve a purpose. As the members of the attracting cycle bifurcate, their patterns branch out further and further. When this pattern of branching reaches one of the values of the repelling cycle – indeed it will reach all members of the repelling cycle simultaneously – the branching stops and the system dissolves into chaos once more. This explains why these spontaneously generating cycles appear in “windows” in the Feigenbaum Plot, with an abrupt end to chaos on the left, and an abrupt resuming of chaos on the right.

Annotation 2019-12-06 074512.png

We wrapped up today with a recap of the work we’ve done so far, occupying our time exclusively within the Real numbers. The last portion of the course will now branch into the Complex numbers, effectively repeating the analyses we’ve done with iterating functions into the complex plane. Our first stop will be to understand how to represent geometric transformation with operations on complex numbers. We modeled this in class by showing how the repetition of a series of geometric transformations can result in the same “fixed point attracting” behavior as we saw with the real numbers.

Fractals & Chaos Recap for 12/6

We have observed that cycles are born in the Feigenbaum Plot in one of two ways: bifurcations of lower cycles and spontaneously out of chaos. Yesterday we understood how these cycles are spontaneously born and how this phenomenon coupled with the self-similarity of the Feigenbaum Plot suggests an order to cycles. What it also gives us is a way of counting how many cycles of each type there are.

We know there are two fixed points on the original f (x) = ax(1 – x). One is attracting for a < 3, the other (at zero) is always repelling.

For 2-cycles, we look at f (f (x)). We see as many as four fixed points on this graph. But two are already members of 1-cycles and must be eliminated. This leaves only two points eligible to be members of 2-cycles, meaning we only have one 2-cycle, which we see bifurcating at a = 3.

To count 3-cycles, we observe that f (f (f (x))) has as many as eight fixed points. A 3-cycle pattern n, ___, ____, n could be explained two ways: as a 1-cycle (n, n, n, n) or as a real 3-cycle (n, o, p, n). So again, we remove the two 1-cycle points and are left with six points eligible to be members of 3-cycles, suggesting two 3-cycles. We see one in the Feigenbaum plot at a ≈ 3.83, but that’s an attracting fixed point. Where’s the other one? It turns out that for every cycle born out of chaos, there is an “evil twin” repelling cycle born as well. As a result, there are actually two 3-cycles born at a ≈ 3.83: one attracting and one repelling.

To count 4-cycles, we observe that f(f(f(f(x)))) has as many as 16 fixed points. But if we see a pattern of n, ___, ____, ____, n, we could explain this by:

  • A 1-cycle: n, n, n, n, n
  • A 2-cycle: n, o, n, o, n
  • A real 4-cycle: n, o, p, q, n

So we eliminate the two 1-cycle points and the two 2-cycle points. This leaves 12 points eligible to be members of 4-cycles, suggesting three 4-cycles. One is the bifurcating cycle we clearly see in the Feigenbaum plot, the second and third are an attracting/repelling 4-cycle pair found at a ≈ 3.96.

To count 5-cycles, we start with the 32 fixed points, eliminate the two that are members of 1-cycles, and observe that the 30 remaining points must create six 5-cycles. One attracting/repelling pair we see at a ≈ 3.74, but the other two are harder to find (one is at a ≈ 3.906, the other pair at a ≈ 3.99028).

Your homework for this weekend: continue this train of thought and identify how many 6-, 7-, and 8-cycles there are. If you’re feeling ambitious, try to locate all of them!

Fractals & Chaos Recap for 12/5

We observed yesterday that cycles appear to be “born” in one of two ways: bifurcations of “lower” cycles, and spontaneously arising from chaos. We’ve already shown why cycles bifurcate, so we started today with an explanation about how cycles spontaneously emerge from chaos.

Referring to our previous proof, graphing the function y = ((x)) can be a way of finding new cycles. Fixed points on the graph of y((x)) that are not common with the graph of y = (x) will be the parameters of our 2-cycle. By extension, graphing y = f (((x))), or any number of nested iterations, will give us a tool of finding new cycles. More crucially, this also shows us why cycles spontaneously appear from chaos. Explore the graph here. For a = 3.84, the “wiggliness” of the graph of y = f (((x))) is enough for the fingers of the graph to touch the line y = x. But for a < 3.84, it isn’t. The moment that a becomes large enough for those fingers to touch the line y = x is the moment that a 3-cycle is born.

The graph above shows that it is not possible to get a 3-cycle before a = 3.84, meaning the 3-cycle “window” we see in the Feigenbaum Plot is the first time we get a 3-cycle (addressing one of the other questions we asked yesterday). It also gives a clue to the order of cycles. We’ve already noticed that the Feigenbaum Plot exhibits fractal-like self-similar behavior, and the 6-cycle we observed at a = 3.63 could almost be viewed as two groups of three. If we consider that the 3-cycle at a = 3.84 is “born” from the original fixed point trend we observed for a < 3.0, then we could argue that the 6-cycle is actually two conjoined 3-cycles, each born from the first bifurcation at a = 3.0. This would suggest that there is a 12-cycle for an even lower value of a, born from the second bifurcations 4-cycle (and indeed there is, at a = 3.5821).

The 5-cycle we see at a = 3.74 then is mirrored with a 10-cycle at a = 3.6053, and a 20-cycle at a = 3.5775. This pattern could continue forever, to find any cycle, of any length.

This argument forms the basis for the Sharkovskii order we saw in yesterday’s article. The 3 cycle is the very last cycle to be born out of the chaos of this trend. The 5-cycle is the second-to-last, and the 7-cycle and every other odd-numbered cycle comes before those. But before we get to any odd-numbered cycle, we first would find the 6-cycle (2 x 3). Before that, the 10 cycle (2 x 5); before that, the 14 -cycle (2 x 5), and so on. But before any of those, we find the 12-cycle (4 x 3); before that the 20-cycle (4 x 5); before that the 28-cycle (4 x 7). And so on, reading the Feigenbaum plot right-to-left, until we find our “un-bifurcating” powers of two cycles, stitching back together to 16, to 8, to 4, to 2, and then finally back to 1.

Your homework: read pages 138-145 in Fractals: The Patterns of Chaos, about “Visualizing Chaos”

If you’d like to learn a bit more about the Universality of the Feigenbaum Plot, check out this long article from a class similar to ours at Georgia Tech.

Fractals & Chaos Recap for 12/4

We spent the first portion of class today exploring the Feigenbaum Plot today by asking a few supplemental questions to question 3 (is there anything to be found after chaos):

  • Which comes first, a 3 cycle (so far found at a = 3.84) or the 5 cycle (found at a = 3.74 but also a = 3.906)?
  • Why do some cycles happen more than once (see the 5-cycle above, or the two 6-cycles at a = 3.63 and a = 3.845 or two 4-cycles at a = 3.5 and a = 3.961)?
  • In general:
    • Where do cycles come from? How are they “born”?
    • Is there some order to cycles?

Instructions on using Paul Fischer-York’s Bifurcation Diagram

  • Use the Darkness slider to make the image darker and easier to see.
  • Left-click and drag a rectangle around any portion of the diagram to zoom in on that portion.
  • Right-click anywhere in the diagram to run a series of iterations at that value of a along the x-axis. The software will identify the magnitude of the cycle you’re looking at (though sometimes it makes a mistake, so look at the list as well!)

After some time to explore, we made a few observations about the general questions. The first is that cycles are born in two ways:

  1. Bifurcations of “lower” cycles, or
  2. Spontaneously arising from chaos

This suggests a certain ordering of cycles: the 2-cycle comes first, then the 4-cycle, the 8-cycle, the 16-cycle, and so on for powers of 2. Eventually, these cycles become so large that the system becomes chaotic. But this only explains cycles that are powers of 2. What about any other? For this, please read this article about the Feigenbaum plot, its constant, and the ordering of cycles.

Fractals & Chaos Recap for 12/3

We explored cycles a bit more in class today, noting that if {p,q} are the two values of a 2-cycle, then by definition (p) = q and (q) = p. Put another way, ((p)) = p and ((q)) = q. What’s important to note, though, is that the reverse is not true. If ((n)) = n, then n could be a member of a two cycle (n,m,n,m,n,m,…or it could just be a fixed point: (n,n,n,n,n,n,…)

One important takeaway from this is that the first is that the local slope (Instantaneous Rate of Change) to all points of a 2-cycle, or indeed any cycle, is always the same. As a result, all points of a cycle will pass an IRC of -1 simultaneously, meaning all points of a cycle bifurcate simultaneously. This (and the  Chain Rule from calculus) served as our proof of Question 2 posed early in our exploration of this pattern.

The implication of this is clear: after a = 3.0, the pattern of the orbit of the logistic function bifurcates to a two cycle. By a = 3.5 (more specifically at a = 3.449490…), it has bifurcated again to a four-cycle. Soon after (at a = 3.544090…), it bifurcates yet again to an eight-cycle, then to a 16-cycle (at a = 3.564407…), a 32-cycle (at a = 3.568759…), and so on. These bifurcations happen over increasingly shorter intervals for values of a. The fascinating thing is that the ratio between these intervals approaches a constant value, approximately 4.669202…, known as Feigenbaum’s Constant (this link goes to a Numberphile video about this idea that we watched a portion of in class today; the picture of orbit destinations that we have been drawing is known as the Feigenbaum Plot, which we will look at in detail tomorrow).

Fractals & Chaos Recap for 11/26

We did some more research in the logistic map and the catalog of behavior we’ve been using for the past few days. We’ve answered the first question from yesterday’s list: the first split happens at precisely a = 3.0. With a proof in class, we showed that this is because for a = 3.0, the slope of the curve at the value of the fixed point (which happens to precisely equal 2/3) is exactly -1. Any value of a less than 3.0 will have a slope at its fixed point that is shallower than -1, and as a result the fixed point is an attractor. Any value of a greater than 3.0 will have a slope at its fixed point that is steeper than -1, and as a result the fixed point is a repeller. So when we notice that there’s a 2-cycle at a = 3.1, this is because the fixed point is a repeller, pushing the orbit to the 2-cycle. This 2-cycle exists for all values of 3.0 < a < 3.1.

We also have seen some progress on question 3, finding a 5-cycle at a = 3.906, a 7-cycle at a = 3.702, and our very first 3-cycle at a = 3.83. A follow-up question we could ask here: Can a cycle of any length be found for a > 3.6?

We still haven’t answered question 2: whether or not both points of the 2-cycle at a = 3.4 split simultaneously to form the four cycle found at a = 3.5, or if, for the briefest of moments, one point splits before the other and we can find another 3-cycle somewhere between 3.4 << 3.5. Your homework this break is to investigate this some more.

Fractals & Chaos Assignment for 11/25

We did some more work collecting information for the Catalog of Behavior for the Logistic Map function Mr. Drix introduced to you last week, getting a clearer idea on the changes in behavior as a increases towards 4.0. The patterns we observed raised a few questions:

  1. Somewhere within the interval 3.0 < a < 3.1, the single fixed point attractor “bifurcates” (i.e., splits) into a 2 cycle. Where exactly does this happen?
  2. Later, the 2-cycle becomes a 4-cycle. Do all points of the cycle bifurcate simultaneously, or can one split before another? In other words, is there a 3-cycle within the interval 3.4 < a < 3.5, or does the 2-cycle split directly to a 4-cycle?
  3. Once chaos appears past a = 3.6, is that it? Or is there anything more to be found there?

Continue your explorations of this function to try and answer these questions. Use the applets posted on the left side of the page. I have a special prize for the first person who can find a 3-cycle…

 

Fractals & Chaos Recap for 11/22

We continued our discussion of the logistic map from yesterday by iterating the function for various values of the growth parameter a (which we identified as being bound between 0 and 4). We observed that if a is too low (a < 1), the population will die out and the destination of the orbit is zero. Once a passes 1, the population will eventually settle at some proportion of the maximum population; for example at a = 2.6, the orbit of iterations settles on a value of approximately 0.6154 (precisely, this is 8/13 of the possible maximum population). For a = 3.2, we observed a two-cycle of {0.5130,0.7995}, suggesting that the population here will year by year fluctuate between roughly 51% and 80% of its possible maximum population. For a = 3.6, we observed two bands of chaos bound within (0.32,0.6) and (0.79,0.9), suggesting that the population never dies out, but never settles at a stable value (or set of values).

This weekend, please continue to explore values of a and the destinations of orbits within this graph. Use the apps at MathInsight.org to help, as well as this Logistic Function Cobweb Diagram I made in Desmos. Keep track of your observations on the Catalog of Behavior you got in class. By Monday, you should at least have an observation for every tenth value of a between 2.2 and 4.0.

Fractals & Chaos Recap for 11/21

Mr. Drix was in again today and reminded you of a point he made when he was with you last time: the graph of a function “near” a fixed point will look linear if you magnify it enough, even if the function itself is not linear. As a result, we can use the rules we derived for classifying fixed points based on the slope of a linear function to help us classify fixed points now. For example, if the “nearby” slope around a fixed point is positive and greater than that of y=x (i.e., is greater than 1), then the fixed point will be a “direct attractor.” This raised the question: What if the nearby slope is exactly equal to 1? This occurs when the graph of f(x) is tangent to the graph of y = x at the location of the fixed point.

It turns out that the fixed point has no unique classification, as behavior of seeds to the left of the fixed point differs from the behavior of seeds to the right. A fixed point could be directly attracting on one side, but directly repelling on the other!

You spent the next portion of class finishing the Iterated Functions sheet by exploring the equations of part 5. All five pairs of functions have a fixed point at 0, all of which having a nearby slope of 1. Using the ideas noted above, and confirming the few unclear examples with the Geogebra apps on MathInsight.org, you classified the differing behaviors of each of those functions.

From there, we moved to a different family of functions defined by the graph y = ax(1-x). This function is called a logistic map, and it represents the growth of a capped population where x represents the ratio of the current population to a maximum sustainable population (as defined by the carrying capacity), and a is known as a fecundity rate. Naturally, both x and y are bound within the interval (0,1), as a population that reaches 0 is extinct and a population that reaches 1 will necessarily exceed its carrying capacity and become doomed. Your homework tonight is to consider this equation and those limits and to derive the boundaries for a.

Fractals & Chaos Recap for 11/20

After a discussion of the recently-assigned article, we finished #4 from the Iterated Functions sheet, observing that the two fixed points for 4i seem to attract much more rapidly than some of the other examples we’ve seen (the ancient divide and average method of approximating irrational square roots explains why; see if you can figure out the connection!), and seeing in 4j our first example of a 4-cycle (a limit cycle of length 4).

Fractals & Chaos Recap for 11/19

We reviewed results from 4b through 4h on the Iterated Functions sheet. Every example had a single attracting fixed point (and possibly an additional repelling one) until 4f, which had two repellers. But what did these repellers repel to? It wasn’t infinity, it was a cycle of values between 0 and -1. This is our first example of a limit cycle, a surprising result in algebraic iterations where a pattern of steps is pushed into a repetitive cycle.

Day 53 - Iterating Functions 4f

Then we pushed the function a little further, from x^2 – 1 to x^2 – 2. Still with two repellers, this time the system of iterations dissolved into complete chaos, careening randomly within the interval -2 to 2, never settling into one spot. Changing the value of the seed by only one ten-thousandth produced a completely different pattern of iterations, demonstrating the sensitivity to initial conditions that are characteristic of chaos.

Day 53 - Iterating Functions 4g.png

We will see plenty more examples of weird behavior in our iterations in the days to come. For tomorrow, be sure to read the article posted yesterday.

Fractals & Chaos Recap for 11/18

We discussed the last of the exercises from #3 of the Iterated Functions sheet, then debriefed all of the observations of Ax+B again, deciding once and for all that Ax+B is solved. A fixed point can be found by the expression x = B/(1-A), but only the value of A impacts the behavior of the fixed point:

  • If |A| < 1, the fixed point is attracting
  • If |A| > 1, the fixed point is repelling
  • If A > 0, the pattern is direct
  • If A < 0, the pattern is alternating
  • If A = 1, there is no fixed point
  • If A = -1, the fixed point is neutral
  • If A = 0, the fixed point is “super-attracting”

We also observed that as |A| gets nearer to 1, the attracting/repelling behavior becomes slower.

We looked at another hypothetical non-linear system, then set to work on exploring more of #4 from the IF sheet, using the Iterated Functions Supplement as a guide. Your homework is to finish up through #4h (by tomorrow), and read Chaos and Fractals in Human Physiology, from the February, 1990 edition of Scientific American

 

Fractals & Chaos Recap for 11/15

With Mr. Drix, you observed some patterns that emerge in cobweb diagrams for certain types of fixed points. For an attractor, the pattern of steps in the cobweb diagram will be drawn towards the fixed point; for a repeller they move away. Furthermore, if the fixed point is direct, the pattern of steps will look like actual steps as they move towards or away from the fixed point, trapped between the two lines defined by the function we are iterating and y = x. If the fixed point is alternating, on the other hand, the pattern will spiral around the fixed point with each step, producing a picture that most clearly gives the cobweb diagram its name.

From there, we took our first look at non-linear functions, realizing quickly that in addition to having more than one fixed point, such functions can have different types of fixed points. One could be a direct repeller, while another an alternating attractor. The cobweb diagram remains our best way to observe these differences, and we used the Geogebra-based applications found here to create them.

We looked at 4a (y = x^2) together, classifying the fixed point at 1 as a direct repeller and the fixed point at 0 as a direct attractor. We furthermore observed that -1 is a “pre-image” to the fixed point at 1, and therefore we have different behavior for different seeds. Your homework tonight is to continue and look at 4b-4f, using the cobweb diagram app linked above and the Iterated Functions Supplement to keep track of your results.

Fractals & Chaos Recap for 11/14

With Mr. Drix, you continued your work with the Iterated Functions sheet, making some observations about how we might predict the classification of fixed point we get based on the parameters of the function we are iterating (see a friend in class for the exact notes on this if you missed them!)

We also introduced a new way of visualizing the behavior of functions: the cobweb diagram. In this style of graph, we draw the function we are iterating on the same plot as the line y=x. We pick a seed and move vertically to the graph of y=f(x), then horizontally to the line y=x, resulting in the output we just got becoming the input for the next iteration. We then move vertically again to y=f(x) and horizontally again to y=x, continuing until we get a view of the behavior of the function.

Your homework tonight then is to finish question 1 (parts f and g) and to do parts a, b, and c of question 3 of the Iterated Functions sheet. Draw both the time diagram and cobweb diagram for each of these functions, and try to make some observations about how the patterns of the two representations align with each other.

Fractals & Chaos Recap for 11/13

We’ve started down the road towards understanding the mathematics of chaos by iterating linear functions. Imagine a recursively-defined sequence, where each term of the sequence is defined based on the previous value. That’s what we’re doing here: we start with a seed, then plug that seed into a formula. Each output becomes the next step’s input, and we seek to understand the long-term behavior of formulas.

We are primarily working with this classwork sheet: Iterated Functions. We’ve done parts a, b, and c for part 1, looking at the behavior of seeds both numerically and graphically, creating a plot of steps vs. value called a Time Diagram. In all three examples, we found a fixed point: a value of a seed that is constant through the formula (plugging that value in gets that same value out). Some of the fixed points were attractors, and some were repellers. We discussed how iterating the function repeatedly is a fine way to find an attracting fixed point, but obviously won’t work to find a repeller. The only option there is to solve the equation f(x) = x.

Tonight for homework, please do parts d and e of question 1, then all of question 2. You should work on identifying and classifying the fixed point (as an attractor or repeller).