Evolution of a chaotic system

Probably the most universally well-known behavior of chaotic systems is the butterfly effect. Or, the idea that minor perturbations in a particle's position or velocity give rise to massively different behaviors from that particle, and even from the system as a whole. This is the driving force behind what makes chaotic systems so chaotic - the evolution of a system is hypersensitive to its current state and thus seems to behave in a random manner.

So here's the setup:

I have a system of 10,000 white particles all arranged in a line next to each other. For now, they look like a solid line, but soon you'll see them diverging. The window is doubled as well, just so the ensuing structure is more obvious. Now, let's talk about equations of motion.

θ¨+αθ˙+βsin(πθ3)=βcos(ωt) \ddot{\theta} +\alpha\dot{\theta} + \beta \sin(\frac{\pi \theta}{3})= \beta \cos(\omega t)

This essentially corresponds to a driven damped harmonic oscillator, with some variations. Back to the graph above, what isn't being graphed is position vs. time, but rather velocity vs. position. In technical terms, this is a graph of the phase space of this system. And since position is given by θ \theta instead of xx, you would be right to guess that it is periodic - hence why I decided to double up the phase plot.

Moving ahead, we get this:

Notice how the particles on the right wrap back around to the left. Specifically, the x-axis represents angular position, or θ\theta, while the y-axis represents angular velocity, θ˙\dot{\theta}. A few steps later, we see the particles begin to diverge.

Although the particles have begun to take wildly different trajectories, there is still a vague structure behind it all. Surprisingly, this structure not only persists as the simulation continues; but it also becomes more apparent!

Here an animated version as well:

This structure also has a name - it's known as a strange attractor. Chaotic systems sometimes lead to attractors, which are fundamental structures that those systems lead to for a variety of initial conditions. This is both important and unexpected - a system evolves chaotically and is hypersensitive to minor perturbations in initial conditions, but that same system can lead to the same set of strange attractors for a wide range of initial states.

PS: Since I think it's a cool topic, I'll show you guys some other strange attractors I've rendered.

Note by Levi Walker
1 year ago

No vote yet
1 vote

  Easy Math Editor

This discussion board is a place to discuss our Daily Challenges and the math and science related to those challenges. Explanations are more than just a solution — they should explain the steps and thinking strategies that you used to obtain the solution. Comments should further the discussion of math and science.

When posting on Brilliant:

  • Use the emojis to react to an explanation, whether you're congratulating a job well done , or just really confused .
  • Ask specific questions about the challenge or the steps in somebody's explanation. Well-posed questions can add a lot to the discussion, but posting "I don't understand!" doesn't help anyone.
  • Try to contribute something new to the discussion, whether it is an extension, generalization or other idea related to the challenge.
  • Stay on topic — we're all here to learn more about math and science, not to hear about your favorite get-rich-quick scheme or current world events.

MarkdownAppears as
*italics* or _italics_ italics
**bold** or __bold__ bold

- bulleted
- list

  • bulleted
  • list

1. numbered
2. list

  1. numbered
  2. list
Note: you must add a full line of space before and after lists for them to show up correctly
paragraph 1

paragraph 2

paragraph 1

paragraph 2

[example link](https://brilliant.org)example link
> This is a quote
This is a quote
    # I indented these lines
    # 4 spaces, and now they show
    # up as a code block.

    print "hello world"
# I indented these lines
# 4 spaces, and now they show
# up as a code block.

print "hello world"
MathAppears as
Remember to wrap math in \( ... \) or \[ ... \] to ensure proper formatting.
2 \times 3 2×3 2 \times 3
2^{34} 234 2^{34}
a_{i-1} ai1 a_{i-1}
\frac{2}{3} 23 \frac{2}{3}
\sqrt{2} 2 \sqrt{2}
\sum_{i=1}^3 i=13 \sum_{i=1}^3
\sin \theta sinθ \sin \theta
\boxed{123} 123 \boxed{123}

Comments

Sort by:

Top Newest

@Levi Adam Walker these are beautiful renderings. What are you using to generate them? (and do you mind sharing your code?)

Josh Silverman Staff - 1 year ago

Log in to reply

They were generated in Processing, a pretty simple program for rendering graphics in Java and Python. Here's the source code! https://github.com/AustereTriceratops/Misc/blob/master/physics/DrivenDampedPendulum

Levi Walker - 1 year ago

Log in to reply

Very interesting note! After a sufficient amount of time, do their phase states get closer together? Simulation wise, I think you can colour the points continuously, a different hue depending on the initial θ\theta, so if the above question is the case, then in the strange attractor, we should see points of similar hues close together.

Also what is the nature of this attractor? Such as what do you think the dimensions are of this attractor and does a system loop about the attractor or traverses randomly about the attractor (if the attractor is not 1 dimension). It's kinda hard to see from the static pictures.

Julian Poon - 1 year ago

Log in to reply

I did that too in an earlier version of that program! This is what the result looks like:

And as far as animating it goes, I made a .gif here:

You can see that some parts are "stretching" while others are "contracting", which makes sense in the context of a chaotic system; in order for the phase space to be able to form a stable attractor then you need those two things to be balanced. I guess you can see it as continuously kneading dough - or mixing a batter - every time you fold it everything gets slightly more mixed up.

Levi Walker - 1 year ago

Log in to reply

This is very chaotic!

Anton Goetze - 1 year ago

Log in to reply

Good code, but why use python when you can you can use OpenGL or WebGL or C++ or parallely processed programming?

Kao Cen Darach - 1 year ago

Log in to reply

Mostly because it's what I'm most comfortable with (I'm new to programming). I do want to move onto WebGL for rendering at some point, though.

Levi Walker - 1 year ago

Log in to reply

An easy way to start with WebGL can be with Shadertoy, it runs on the browser and does not need any setting up to compile.

Julian Poon - 1 year ago

Log in to reply

@Julian Poon Thanks, I'll try it out then!

Levi Walker - 1 year ago

Log in to reply

@Levi Walker I should mention, you will have to make use of buffers in order to store the previous states, because there is essentially no memory for vertex shaders.

Julian Poon - 1 year ago

Log in to reply

@Julian Poon Yes.

Kao Cen Darach - 1 year ago

Log in to reply

@Julian Poon Yes. Shadertoy is good.

Kao Cen Darach - 1 year ago

Log in to reply

You’re very good for a new programmer. How long have you been programming for? I often use WebGL for physics visualisations and graphics.

Kao Cen Darach - 1 year ago

Log in to reply

@Kao Cen Darach Thanks! I was only about a month or so into it when I wrote that program. Are there any libraries/frameworks you'd recommend for working with WebGL?

Levi Walker - 1 year ago

Log in to reply

@Levi Walker WebGL uses JavaScript, which is like a cross between python and C. Learn JavaScript and HTML to do web programming using WebGL

Kao Cen Darach - 1 year ago

Log in to reply

Levi Adam Walker, python is pretty good though. In this instance, it was especially good as you minimized the amount of code you have written. Note that WebGL assumes 3d rectangular coordinates and you have to write a lot more code than in python, but it is powerful, however is isn't as powerful as the current updated version of OpenGL

Kao Cen Darach - 1 year ago

Log in to reply

seems like some top spam, Mr.Mark Golvani

Steven Miller - 2 months, 1 week ago

Log in to reply

HADH encodes the enzyme short chain 3-hydroxyacyl-CoA dehydro-genase, which is a key enzyme and catalyzes the third step in mitochondrial fatty acid oxidation. It catalyses the conversion of L3-hydroxacyl CoAs of variable chain length to their corresponding 3-ketoacyl CoAs.

https://www.creative-biogene.com/genesearch/HADH.html

Wendy Wilson - 3 months ago

Log in to reply

Im going to report u because you’ve been posting garbage in various discussions

Kao Cen Darach - 3 months ago

Log in to reply

I love to develop and learn, so I read a lot and recently I find more and more interesting blogs. Of the latest finds, I liked this platform ehttps://www.aresearchguide.com/thesis-generator.html thanks to which you can get a lot of free useful materials. I think it can be useful to everyone who, like me, loves to find something new for myself.

Mark Golvani - 3 months, 1 week ago

Log in to reply

God why are there so many ad bots commenting on old discussions

Kao Cen Darach - 3 months, 1 week ago

Log in to reply

I wish we had an option to report posts :/

Levi Walker - 3 months, 1 week ago

Log in to reply

@Levi Walker Yea

Kao Cen Darach - 3 months, 1 week ago

Log in to reply

×

Problem Loading...

Note Loading...

Set Loading...