Fractals & Chaos Recap for 1/16

We discussed an open problem related to the connectedness of the Mandelbrot Set today. It seems silly, but “connected” is actually a tough idea to define mathematically. We discussed the following ideas:

  • Not disconnected: That is, the set is not divided into pieces. We can’t draw a line “between” pieces of the set without crossing the set. The Mandelbrot set is not disconnected
  • “Simply” connected: Both the set and its complement (everything not a member of the set) are not disconnected. A circle is not simply connected, because it divides the plane into regions inside and outside of the circle, which are disconnected from each other by the circle. A disk — a circle that includes its interior — is simply connected, as anything not in the disk is outside the disk. The Mandelbrot Set is simply connected
  • “Path” connected: Any two points of the set can be joined by a path that stay in the set. We used the Topologist’s Sine Curve to define an example that is not “path” connected. The Mandelbrot Set, though, is path connected.
  • “Locally” connected: Around any point of the set, we can draw a circle small enough such that the set is not connected inside of it. We used the idea of a comb defined by the line segments y = 1/2^x from x: [0,1] as an example of a space not locally connected. Mathematicians are still unsure whether the Mandelbrot is Locally Connected or not, an open problem known as the MLC.

The last topic, which we will get into tomorrow, is a brief history lesson of the Julia Set that starts in Newton’s Method for Approximation.

For tomorrow, please read this article from the November, 1991 issue of Science News, published just after an important discovery was made about the border of the Mandelbrot Set, as well as this follow-up of sorts from 2017 in Scientific American

Fractals & Chaos Recap for 1/15

We wrapped up yesterday’s game of “Find the Julia Set” and reviewed some other interesting properties of the Mandelbrot Set:

  • “Area” Julia Sets come from “areas” in the Mandelbrot Set, and “string” Julia Sets come from “strings” in the Mandelbrot Set
  • There are “veins” through the main cardioid of the Mandelbrot Set where we can watch the orbit of a single fixed point die towards a 2-, 3-, 4-, or any magnitude cycle. Along these veins, the fixed point forms spokes. Offset slightly from these veins and they become spirals
  • Relatedly, there are balls off of the main cardioid for every possible cycle, and every variant of every cycle (1/5-cycles, 2/5-cycles, etc.). Imagine a circle centered on the cusp of the cardioid. Any angle rotation around that circle points straight at a ball on the edge of the cardioid, whose orbit-cycle magnitude exactly matches the fraction used to find that angle. A 120 degree rotation, representing 1/3 of a full rotation, points straight at the 3-cycle ball on the top of the Mandelbrot set, and a 240 degree rotation, 2/3 a full rotation, points straight at the 3-cycle ball on the bottom. A 72-degree rotation, 1/5 of a full, points straight at the first 5-ball. Rotations of 144, 216, or 288 degrees point straight at the second, third, and fourth 5-balls.

Our last two topics of the course: an open problem related to the connectedness of the Mandelbrot Set, and a discussion of Newton’s Method of Approximation, and its surprising connection to the Mandelbrot Set

Fractals & Chaos Recap for 1/14

The central question I have asked of you is In what way are the shape of the Julia Set, the size of the cycle with it, and its location in the Mandelbrot Set related to each other? Today, we started to answer this question.

First, we observed that orbits along the horizontal x-axis of the Mandelbrot Set bifurcate in the same way that they do in the Feigenbaum plot, and for good reason. Furthermore, we noticed that elsewhere along the edge of the central cardioid of the Mandelbrot Set, we can find balls that yield cycles of any magnitude, and in general the size of the ball is inversely related to the magnitude of its cycle (bigger ball = smaller cycle).

When we look at the Julia Sets we get in each of these balls, we realize that each of them have a central area, centered at the origin, and each with an infinity of “pinch points” found along its edge. The number of areas pinched together at this point exactly matches the size of the orbit contained! Given a mystery Julia Set, then, we can determine the size of its contained orbit just by its shape!

Finally, we observed that every ball connected to the central cardioid has an infinity of balls attached to it, also of decreasing size. The fractal nature of the Mandelbrot Set manifests itself here: the largest sub-ball corresponds to a bifurcation, the next largest to trifurcations, and so on. Thus, the 2-cycle found in the San Marco Julia Set can bifurcate into a 4-cycle, trifurcate into a 6-cycle, or any other multiple of two. The 3-cycle found in the Douady Rabbit can bifurcate to a 6-cycle, trifurcate to a 9-cycle, and so on for any multiple of 3. And this pattern extends to the Julia Sets themselves: the 3-ball off of the 2-ball creates a Julia Set that is a San Marco of Douady Rabbits:

3 off 2

San Marco made up of Douady Rabbits — The 2-cycle of the San Marco trifurcates to create a 6-cycle

And the 2-ball off of the 3-ball creates a Julia Set that is a Douady Rabbit of San Marcos:

2 off 3

Douady Rabbit made up of San Marcos — The 3-cycle of the Douady Rabbit bifurcates to create a different 6-cycle

With this in mind, we can play the game: Find the Julia Set. For each Julia Set in the attached file, use the shape/structure of the Julia Set to predict where in the Mandelbrot Set it can be found, and as a result the magnitude of the cycle found within it. Then verify your predictions using Fractal Zoomer.


Fractals & Chaos Recap for 1/11

We spent the period playing around with Fractal Zoomer, and have made a few observations:

  • The central “bulb” of the Mandelbrot Set is a cardioid, and each other bulb off of that central body is a perfect circle.
  • Each bulb has its own cycle of orbits. Some bulbs have the same size orbit as others, but with a different “order” (1,2,3,4,5,6 vs 1,3,5,2,4,6 for example)
  • If you tile the plane with Julia Sets of a sufficient density, the collection of Julia Sets make a photo-mosaic of the Mandelbrot Set. This further reinforces that there is something important between the location of C within the Mandelbrot Set and the shape of the corresponding Julia Set.
  • Along the central “spike” on the left side of the Mandelbrot Set, we can find baby Mandelbrot Sets strung along that string. The main body of these baby Mandelbrots show cycles instead of fixed points. Realizing that the horizontal axis on which the Mandelbrot set is centered is the real number axis, this suggests that there may be a meaningful connection between the Mandelbrot Set and Feigenbaum Plot…

Keep working with Fractal Zoomer and considering the questions posted yesterday. Please also read the section on Mandelbrot Set from pages 74-81 in your copy of Fractals: The Patterns of Chaos (and bring that book back on Monday).

Fractals & Chaos Recap for 1/10

Download Fractal Zoomer.exe from here (don’t click the green button, that downloads something else). Use the navigation guidelines posted yesterday to help you use the program.

Play around with the program, but do so with intent. I have a few things I want you to explore:

  • Take unusual values of C from the Complex Paint worksheet and verify the connected/disconnectness of the corresponding Julia Set
  • Explore: Where in the Mandelbrot Set can we find values of C that correspond to area versus string Julia Sets?
  • Explore: What is the relationship between the location of C in the Mandelbrot Set and the orbit pattern within the corresponding Julia Set?
  • Challenge: We saw earlier that orbits of quadratics can contain up to Nine 6-cycles. Some are attracting, some are repelling, but most are complex. Can you find all nine of them in the Mandelbrot Set?

Also, if you’re interested in learning a bit more about three dimensional fractals, check out the game or information linked here.

Fractals & Chaos Lesson Recap for 1/8 & 1/9

We’ve discussed and proven a number of properties of the Julia Sets that we’ve observed, including that all Julia Sets have 180-rotational symmetry, and only Julia Sets with real-number parameters will have x- and y-axis symmetry. We also discussed an argument that all Julia sets are either completely connected (any two points can be connected by a path along the Julia Set) or completely disconnected (every point is disconnected from every other point). This difference gives us a convenient way to categorize Julia Sets, allowing us to create a catalog view of them, much like we did for the Feigenbaum Plot in the real numbers.

What we need then is a convenient way of identifying whether or not a Julia Set is connected without having to actually draw it. Fortunately, iterations of points contained within the Julia Set give us a way to do that: if we can find seeds that do not diverge to infinity, then the Julia Set is connected. More specifically, we have argued that the origin, z = 0, is a convenient starting seed to iterate. If the orbit of z = 0 eventually tends to infinity, we know the Julia Set is disconnected. But how do we know the path of an orbit will actually tend to infinity and never return?

Fortunately, there’s a radius of no return. We further proved in class that if the path of an orbit of the origin exceeds r = 2the orbit will never come back. This means that any value of |c| > 2 results in a Julia Set that is automatically disconnected (since if z_0 = 0, then z_1 = 0^2 + c = c, and we’re already past 2), and for any value of |c| < 2, we just need to iterate until the orbit exceeds 2.

If we imagine the complex plane as a computer image, where every pixel corresponds to a single value of c, then we can colorize those pixels based on whether or not their orbit has “escaped”. As we increase the number of iterations, more and more pixels will become colorized (we can use the same colors for pixels that escape at the same number of iterations). Eventually, we will see a shape form. That shape is the Mandelbrot Set.

Download and investigate the Mandelbrot Set using the program Fractal Zoomer. Make sure you download Fractal Zoomer.exe (unfortunately, this software only functions on Windows-based computers). There are three modes in the basic view screen: Zoom Mode, Julia Mode, and Orbit Mode

  • In Zoom Mode:
    • Left Click = Zoom in
    • Right click = Zoom out
    • Ctrl+F3 = Set new center
  • Press J to activate Julia Mode
    • Left Click anywhere in the Mandelbrot Set to create the Julia Set at that value of C
    • Ctrl+F3 will allow you to spawn a Julia Set of a specific value of C (use this to investigate Julia Sets from the Complex Paint Worksheet)
  • Press O to activate Orbit Mode
    • Left click anywhere in the Mandelbrot Set and it will superimpose the orbit of seeds within the Julia Set that uses that value of C
    • Ctrl+F3 will allow you to specify the orbit of a particular value of C (or if you are in a Julia Set, of a particular seed).

Fractals & Chaos Lesson Recap for 1/7

We spent some time reviewing the results from Complex Paint Worksheet 2. We have observed a few things, the most obvious of which are that all Julia Sets have 180-degree rotational symmetry and the only Julia Sets that have x- and y-axis symmetry have a parameter that is a real number. It turns out that both of these observations are provable facts about Julia Sets, which we will investigate tomorrow!

Secondly, we observed that many Julia Sets are connected (areas and strings) but many are not connected. This distinction – between connected and unconnected Julia sets – will form the basis for the formation of the Mandelbrot Set. Be sure you are in class tomorrow, as it will be an important day!

Fractals & Chaos Recap for 1/2, 1/3, 1/4

If you’re here to watch the video Dr. Yerky is instructing you to view in class, click here (it is also linked below). You’ll want to refer to Complex Paint Worksheet 2.

After a recap of what we learned with complex linear functions, we have started work with complex quadratic functions. We will be replicating the process we did with real numbers: analyzing a family of quadratics where we only adjust a single parameter value and investigate the behavior of iterations for specific values of the parameter. Eventually, we will find a way to categorize and catalog these behaviors.

The family of functions we will be analyzing is z^2 + C, and the first parameter we looked at is C = 0. We found that some seeds will attract to zero, some will spiral off to infinity, but others seem trapped in a unit circle around the origin, falling into a cycle or landing on (1,0). This unit circle forms a boundary between seeds that diverge and seeds that do not, and that boundary is called a Julia Set, named after French mathematician Gaston Julia, and developed by Julia and Pierre Fatou.

Not all Julia Sets (in fact pretty much none of them) look as simple as this, and Complex Paint is a great tool to help us see them. Watch this video for another take on the derivation of Julia Sets, plus instructions on how to use Complex Paint to create and understand this new class of mathematical object. Feel free to explore whatever parameter values you would like, but in particular I want you to use the ones on Complex Paint Worksheet 2.

Fractals & Chaos Recap for 12/21

After the weird results we observed yesterday with Phi and the golden ratio, and its ubiquity in nature, we doubled-down by showing that we can use Phi to derive an explicit formula for the Fibonacci Sequence. Yes, the most famous recursively defined set of integers can be derived explicitly using an irrational number. Wild. If you missed it, check out this video from Mathologer.

I also demonstrated another Fractal-generating software: IFS Construction Kit. Selecting “rotation” mode in this software allows you to define a piecewise-linear function in complex numbers, one that allows a greater amount of flexibility by using different dilation or rotation factors for the real and imaginary components of the complex number you are iterating. Use the default settings when the software opens up, and you get a very familiar image…

This break, please think about the back of Complex Paint Worksheet 1. It is a summary of the work we’ve been doing with complex linear functions, and completing this will allow us to move on to the final stage of the course: iterations of complex quadratics.

Fractals & Chaos Recap for 12/20

The continued fraction sequence for T = pi is [3;7,15,1,292,…]. The very first rational approximation we get for pi is 22/7, which has three digits of accuracy after only one iteration. This is a very good approximation of pi, which is why the 7 spiral arms we see in Complex Paint are so persistent. You’ll notice that the next term of the sequence, a_2 = 15, is followed immediately by a_3 = 1, the lowest value we could possibly add. This suggests that the second rational approximation, 333/106, is very bad. Even though it gives us 5 digits of accuracy, we don’t even see 106 of anything in Complex Paint. Instead, the third rational approximation, 355/113, produces seven digits of accuracy with a next term of 292, meaning we “lose” very little accuracy by stopping our continued fraction there. The pattern we get in complex paint is 113 spokes.

Finally, this also gives us a way of saying that PHI, the golden ratio, is the most irrational number. Its continued fraction sequence is [1;1,1,1,1,1,…], the worst possible sequence we could get. This is why in Complex Paint we never see spokes, and why we can see multiple spiral patterns within the same value of R. None of the rational approximations we create are “good” approximations.

This fact about Phi is also why the Golden Ratio comes up so much in nature: sprouting leaves or seeds in rotations  around a central stem by a quantity of the golden ratio will guarantee that your seeds or leaves don’t line up. All leaves get some sun exposure, and you’ve maximized the quantity of seeds. See this Math is Fun page for a great explanation of this phenomenon, or Vi Hart’s series of videos on the topic starting here.

Fractals & Chaos Recap for 12/19

We’ve been reflecting on the question of why the pattern of attraction for some values of R for the same value of T will produce spiral patterns and why others (specifically slower values of R closer to 1) will produce spokes. A clue was found in discussing T = 0.32, with the note that 0.32 is close to, but not quite equal to, 1/3. So every rotation of 0.32 is close to a perfect 1/3 rotation. But since 0.32 < 1/3, every 3rd step is slightly short of a full 1/3 rotation, so we wind up with a clockwise spiral pattern (T = 0.35 on the other hand would be slightly ahead of 1/3 with every three steps, so it creates a counterclockwise spiral pattern).

But why 3 specifically? 319/1000 is closer to 0.32 than 1/3 is. So is 6/19. Why don’t we see 1000 spiral arms, or 19? The answer to this has to do with a novel way of breaking down real numbers into a sort of skeletal structure: a continued fraction. Each step of a continued fraction produces rational approximations of a real number of progressively improved accuracy. It allows us to claim that some rational numbers are actually “more rational” than others and, even more surprisingly, some irrational numbers are “more irrational” than others. But most immediately, the denominators of these approximations correspond exactly to the numbers of spirals we see.

We confirmed this with T = 15/62 and T = 5/17. The continued fraction sequence for T = 15/62 is [0;4,7,2], producing a first rational approximation of 1/4 and then 7/29. The number 15/62 < 1/4, producing the four CW spirals we see in Complex Paint, and the number 15/62 > 7/29, producing the 29 CCW spirals. The sequence for T = 5/17 = [0;3,2,2], giving approximations of 1/3 (too big -> 3 CW spirals) and 2/7 (too small -> 7 spirals).

Not only does the continued fraction give us rational approximations, it gives us a way of assessing how “good” these approximations are. We notice in the complex paint that the 4 spiral arms of 15/62 last for several steps of R (it’s not until R = 0.99 that we even see the 29 spiral arms), whereas T = 5/17 only shows 3 spiral arms for R = 0.9, and then only barely (we can also somewhat see the 7 spiral arms at this stage). This tells us that 1/4 is a better approximation of 15/62 than 1/3 is of 5/17 (which makes sense, since 15/62 is a lot closer to 0.25 than 5/17 is to 0.3333….).

So, a “good” rational approximation can be illustrated by the following characteristics in Complex Paint:

  • It is easy to see, and not hidden by another pattern
  • It is straight or spoke-like
  • It lasts through several magnifications (R = 0.9->0.95->0.99->0.995->…)

We can see this numerically as well: the third term of the sequence for 15/62 (a_2 = 7) is bigger than the second term (a_1 = 3), suggesting that we’re not adding a lot when we add on the third term of the continued fraction. On the other hand, the third term of 5/17 (a_2 = 2) is less than the second term (a_1 = 3), suggesting that we’ve left off a lot by stopping at just two terms.

All of this leads to why we see 7 “spokes” which very slowly turn into spirals for T = pi. The rational approximation 22/7 is a very common, and accurate to three digits, approximation of pi. The 7 “spokes” we see at low values of R slowly tighten as we move R closer to 1, until we get 113 “spokes.” This suggests there is another, even more accurate rational approximation of pi with a denominator of 113. Your homework tonight is to complete the continued fraction sequence for pi and find that approximation.

Fractals & Chaos Lesson Recap for 12/14

We did some more work with Complex Paint today, in the hopes of “solving” Az+B. To make this easier, we derived the “Polar-Linear” form of this formula, where instead of referring to A in rectangular coordinates, we refer to it in a modified form of polar coordinates, where we use R and T, the fraction of a full turn that the angle of polar form refers to. This allowed us to make the following observations:

  • B has no impact on the type of fixed point we get, just its location
  • If R < 1, the fixed point is an attractor
  • If R = 1, the fixed point is neutral
  • If R > 1, the fixed point is a repeller
  • The denominator of T (in lowest terms) tells us how many spokes we get in a pattern.

The only thing we haven’t figured out yet is where spirals come from, and why spirals turn into spokes when we use values of R closer to 1. We’ll explore that on Monday.

Fractals & Chaos Recap for 12/13

We then introduced our next Very Important Program: Complex Paint. This software was created by former F&C students Devon Loehr and Connor Simpson, updating software originally available only on MacOS9, and will be invaluable to us going forward. We’ll discuss 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.

For now, we are using “Linear” mode, and working off of Complex Paint Worksheet 1. We’ve observed that in the linear complex expression Az+B, the value of A can affect the type of fixed point we get. For example, the angle of A written in polar form seems to govern the number of spokes we get, and the attracting/repelling/neutral nature of the fixed point is tied to the value of r. The value of B seems to just change its location. We’ve also noticed some unusual differences in the patterns we see: sometimes the path of attraction towards a fixed point forms straight-line spokes, but sometimes it forms spirals instead. Odd…

We’ll have to look at this some more going forward!

Fractals & Chaos Recap for 12/11

We spent some time reviewing answers to the Complex Numbers Transformations sheet from yesterday, and used the principles to find the precise value of the fixed point you were finding graphically last week with the transformations Dilation x1/2, Rotation 45°, Translation Up 4.

We then introduced 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 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.

Your homework tonight is to finish the back of the Complex Numbers Transformations sheet.

Fractals & Chaos Lesson Recap for 12/10

We reviewed that the values of a and b of the Rectangular Form tell us the horizontal and vertical components, respectively, of the translation achieved by adding a 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.

To better understand this requires practice, and so we spend a considerable amount of time in class today converting between rectangular and polar forms for a single complex number and identifying the transformations they refer to. This work was on the Complex Numbers Transformations sheet, and your homework is to finish the front as well as questions 3, 4, and 5 on the back.

Fractals & Chaos Recap for 12/6

You dived in deep to one of the questions we asked in our exploration of the Feigenbaum Plot: how many cycles of each type are there? 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. Moreover, not all cycles are necessarily bound by real numbers, instead moving to the realm of complex numbers. This results in many more 4-, 5-, 6-cycles and beyond.

Furthermore, 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.

Fractals & Chaos Recap for 11/5

We started in class today watching a Numberphile video about the Feigenbaum Plot and an interesting number that can be found in it that appears to have some surprising universality. The video does a great job of recapping what we’ve done over the past few days, so watch it if you’ve missed anything. You were also given an article to read about the plot and this constant.

The video also makes a point that the pattern we see in the Feigenbaum Plot is not unique to the Logistic function we’ve been iterating. In fact, any function that creates a bound area with the x-axis can exhibit such behavior. With the rest of the period, play around with Paul Fischer-York’s Bifurcation Diagram. Use the dropdown in the upper-right corner to examine diagrams for other functions. Some other functionality:

  • 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!)

Use this map to explore the Sharkovskii Ordering mentioned in the article above. Why does that ordering make sense given this picture?

Fractals and Chaos Recap for 12/4

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,…)

There were two important takeaways from this algebraic definition of a 2-cycle. 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 served as our proof of Question 2 posed early in our exploration of this pattern.

The second takeaway is 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!

Fractals & Chaos Lesson Recap for 12/3

We finally found our first 3-cycle, at a value of a = 3.83. Oddly, this was after chaos emerged, suggesting that sometimes, inexplicably, chaos can turn into order. This of course raised a slew of new questions:

  1. We also found a 5-cycle at a = 3.74 and a = 3.906. Is there a 3-cycle before a = 3.74? Or does the 3-cycle necessarily come after the 5-cycle?
  2. For that matter, why do some cycles happen more than once? A 6-cycle can be found at a = 3.63 and 3.845. A 4-cycle can be found at a = 3.5 and 3.96. Where are these coming from?
  3. What even is the order of cycles, anyway? It seems that powers of 2 come first, born out of bifurcations from our original pattern of fixed points.
  4. Finally, where do the cycles that emerge from chaos come from? Why do they emerge? How are they “born”?

To make exploring these equations easier, I’ve created a Logistic Orbit Iterator on Google Sheets. Make a copy of it and save it to your drive, and you can edit the value of a and the seeds to get a picture of the destinations of the orbit (or scroll down to the bottom and see how it behaves after 500 iterations).

Tomorrow, we’ll finally see the full picture of what we’ve been discussing.