Thank you very much for this amazing lecture... Homework (Exercise): In time 18:00: This is actually a good exercise for you to convince yourself that this code (the python code of rk4singlestep) still would work, and it would still update as long as this function returns that same shaped array of "dy/dt"s of the right-hand sides (even if y0 was an array of initial conditions).
One important point to mention is that is one uses ode-integrating schemes with adaptive time-steps it is often faster to calculate the trajectories one-by-one - then the stepping is only short for every trajectory when it is needed, not when it is need ed for any of all the trajectories considered.
Great content as always. I am doing a MSc in wind turbine design at a German university but there are a few language issues. I discovered this channel recently, and have watched quite a few lectures and heard you mention that you have a plan for future lectures. I would like to request that you consider doing lectures on the tensor analysis of the pressure field and fluid stress vectors. You say that your prior Method of Characteristics lecture was a crash course, could you please extend this to eigenvalue analysis of hyperbolic, parabolic, and elliptic equations?
Oh a fellow german. As i'm a system engineer you know more than i do about fluids. But Steve has a book - Taming Nonlinear Dynamics and Turbulence- on Springer. Might be worth looking into and you should have access to it.
In case one might be interested: link to a 6-year old lecture , ME564 Lecture 19: Vectorized integration and the Lorenz equation ruclips.net/video/1Y17d59FdEk/видео.html
GPU accell is nuts. For the example in the video you have enough GPU cores for each set of conditions, so you easily gain another 2-3 magnitudes of speed. Since we hit computation at university i wondered why it's used so sparely.
Excellent lecture. I study non-smooth impact systems, Filippov systems etc, and usually code in Mathematica. For impact systems, the event detection function WhenEvent[] which is usually written inside NDSolve[] is much easier. I wanted to know if there are event detection functions in Matlab and Python. I know there is a bouncing ball example in Matlab but it's very untidy and confusing in comparison to Mathematica. Could you suggest which would be a good platform (Python vs Matlab vs Mathematica) for integrating non-smooth or piecewise-smooth dynamical systems?
I wonder if a game engine like Godot (which uses a very Python-like scripting language) might be useful for that sort of work. It has a lot of tools for event detection, although I'm not sure how competitive it would be on speed.
Disclaimer: Python is typically my go-to language, not for speed of computation but for speed of prototyping ideas and ease of understanding, both of which depend more on my experience level with the language than on the language itself. So I wouldn't say that it's better than Matlab or Mathematica, but I generally prefer it and the documentation of major libraries like Numpy, Scipy, PyTorch, and others is top notch. If I understand what you are trying to accomplish, I would recommend first looking into Scipy's solve_ivp function: [link removed] It is a generalized ODE integrator which would basically take the place of Steve's rk4singlestep function here, and implements more advanced error-controlling time integration methods. It provides event detection by passing it a function f(t, y) which equals zero when an event occurs, so if the event is any time y[4] = 5 you would make "def f(t, y): return y[4]-5". You can set it up to terminate the integration at the event occurrence. There's an example of using events to integrate a non-smooth function on Stackoverflow here: [link removed] I've tried posting this comment three times now, and it keeps disappearing. I'm guessing the external links are getting it deleted.
I haven't used mathematica, but could achive my goals either with Matlab(Simulink) or Python. From my view the choice is down to two things. Do you or your institution get support from Mathworks? And what are the other smart people in your field using? In my opinion both frameworks are far to powerful to tangle them alone so some should connect to either community and let them get you up to speed. At work i'm using Matlab because they pay to give me the tools i need. With some friends i use python because a lot of our project was already done in python 😅 well and it's free to use.
Thank you for these amazing lectures, they are really enlightening and the Chaos theory topic is juste so fascinating ! I just have a silly question, can you please tell me what is your Jupyter theme please ? I tried to have a nice dark theme like yours but I couldn't find the same...
Great video. One thing if I may, please don't contribute to this 'popular mathematics' notion of chaos that people have where they say that chaos = sensitive dependence on initial conditions. Of the three classic conditions for chaos it really is the least important and the least interesting. (ie. depending on how exactly which way you define topological mixing, mixing and density of period points already implies sensitive dependence on initial conditions)
Excellent lecture! Thanks Steven. I went to the course website to check the code but the links are broken. (Lecture 19) Vectorized integration and the Lorenz equation (lorenz3D.m, L18_simulateLorenzFAST.m,lorenz3D.ipynb, L18_simulateLorenzFAST.ipynb)
Thank you very much for this amazing lecture...
Homework (Exercise):
In time 18:00: This is actually a good exercise for you to convince yourself that this code (the python code of rk4singlestep) still would work, and it would still update as long as this function returns that same shaped array of "dy/dt"s of the right-hand sides (even if y0 was an array of initial conditions).
Fantastic as always.
One important point to mention is that is one uses ode-integrating schemes with adaptive time-steps it is often faster to calculate the trajectories one-by-one - then the stepping is only short for every trajectory when it is needed, not when it is need ed for any of all the trajectories considered.
Great content as always. I am doing a MSc in wind turbine design at a German university but there are a few language issues. I discovered this channel recently, and have watched quite a few lectures and heard you mention that you have a plan for future lectures. I would like to request that you consider doing lectures on the tensor analysis of the pressure field and fluid stress vectors. You say that your prior Method of Characteristics lecture was a crash course, could you please extend this to eigenvalue analysis of hyperbolic, parabolic, and elliptic equations?
Oh a fellow german. As i'm a system engineer you know more than i do about fluids. But Steve has a book - Taming Nonlinear Dynamics and Turbulence- on Springer. Might be worth looking into and you should have access to it.
In case one might be interested:
link to a 6-year old lecture , ME564 Lecture 19: Vectorized integration and the Lorenz equation
ruclips.net/video/1Y17d59FdEk/видео.html
LorenzFast and LorenzSlow python code, not present on University of Washington website.
We might also point out that Matlab and Python libraries can be written to use multiple cores, GPUs, and FPGAs for the vector math.
GPU accell is nuts. For the example in the video you have enough GPU cores for each set of conditions, so you easily gain another 2-3 magnitudes of speed.
Since we hit computation at university i wondered why it's used so sparely.
Steve, any book or literature recommended for having in the shelf about differential equations?
Excellent lecture. I study non-smooth impact systems, Filippov systems etc, and usually code in Mathematica. For impact systems, the event detection function WhenEvent[] which is usually written inside NDSolve[] is much easier. I wanted to know if there are event detection functions in Matlab and Python. I know there is a bouncing ball example in Matlab but it's very untidy and confusing in comparison to Mathematica. Could you suggest which would be a good platform (Python vs Matlab vs Mathematica) for integrating non-smooth or piecewise-smooth dynamical systems?
I wonder if a game engine like Godot (which uses a very Python-like scripting language) might be useful for that sort of work. It has a lot of tools for event detection, although I'm not sure how competitive it would be on speed.
Disclaimer: Python is typically my go-to language, not for speed of computation but for speed of prototyping ideas and ease of understanding, both of which depend more on my experience level with the language than on the language itself. So I wouldn't say that it's better than Matlab or Mathematica, but I generally prefer it and the documentation of major libraries like Numpy, Scipy, PyTorch, and others is top notch.
If I understand what you are trying to accomplish, I would recommend first looking into Scipy's solve_ivp function: [link removed]
It is a generalized ODE integrator which would basically take the place of Steve's rk4singlestep function here, and implements more advanced error-controlling time integration methods. It provides event detection by passing it a function f(t, y) which equals zero when an event occurs, so if the event is any time y[4] = 5 you would make "def f(t, y): return y[4]-5". You can set it up to terminate the integration at the event occurrence.
There's an example of using events to integrate a non-smooth function on Stackoverflow here: [link removed]
I've tried posting this comment three times now, and it keeps disappearing. I'm guessing the external links are getting it deleted.
I haven't used mathematica, but could achive my goals either with Matlab(Simulink) or Python. From my view the choice is down to two things. Do you or your institution get support from Mathworks? And what are the other smart people in your field using?
In my opinion both frameworks are far to powerful to tangle them alone so some should connect to either community and let them get you up to speed.
At work i'm using Matlab because they pay to give me the tools i need.
With some friends i use python because a lot of our project was already done in python 😅 well and it's free to use.
Thank you for these amazing lectures, they are really enlightening and the Chaos theory topic is juste so fascinating ! I just have a silly question, can you please tell me what is your Jupyter theme please ? I tried to have a nice dark theme like yours but I couldn't find the same...
dear Steve sir.....can you upload some video on LES, DNS and spectral methods....I have exam on these
Great video. One thing if I may, please don't contribute to this 'popular mathematics' notion of chaos that people have where they say that chaos = sensitive dependence on initial conditions. Of the three classic conditions for chaos it really is the least important and the least interesting.
(ie. depending on how exactly which way you define topological mixing, mixing and density of period points already implies sensitive dependence on initial conditions)
Excellent lecture! Thanks Steven. I went to the course website to check the code but the links are broken. (Lecture 19) Vectorized integration and the Lorenz equation (lorenz3D.m, L18_simulateLorenzFAST.m,lorenz3D.ipynb, L18_simulateLorenzFAST.ipynb)
Links still broken.