Skip to main content

Timeline for Lyapunov Exponent

Current License: CC BY-SA 4.0

31 events
when toggle format what by license comment
Mar 11 at 4:45 comment added Chris K @user444 Sorry, I have no idea. If you can define the problem in terms of a system of differential equations, you can use my LyapunovExponents function, but I'm afraid the discrete collisions will cause problems. You should ask a new question to get more eyeballs on the problem. Good luck!
Mar 11 at 4:20 comment added user444 @ChrisK, thank you for writing such a beautiful program. Could you give me a hint how to find Lyapunov spectrum for Billiards? I'm unable to find an algorithm based on this slide uv.mx/ffia/files/2021/03/Chaotic-Classical-Billiards.pdf
Aug 7, 2022 at 0:41 history edited Chris K CC BY-SA 4.0
added some references
May 29, 2022 at 11:27 comment added Валерий Заподовников On 13.0.1 and after all fixes MaxSteps -> 10^5 now works much better than you described (vs Sprott). It gives 0.0713009, 0.00003218, -5.39445.
May 4, 2022 at 3:32 history edited Chris K CC BY-SA 4.0
fixed a little bug
Mar 13, 2022 at 21:54 history edited Chris K CC BY-SA 4.0
added note clarifying advantages
Mar 12, 2022 at 23:17 history edited Chris K CC BY-SA 4.0
fixed mistake in PlotExponents (added 1 ;;)
Jul 3, 2021 at 13:55 comment added Aschoolar how did you get the values of ics (x,y,z)?
Sep 20, 2020 at 1:55 comment added Chris K @keanhy14 Thanks! Just warm the system up with NDSolve to get on the attractor before calling LyapunovExponents.
Sep 20, 2020 at 1:42 comment added keanhy14 @ChrisK Your code works well, and I think it will be better if you exclude the transient TR steps, just as illustrated in Marco Sandri's package, especially for the damping system.
Sep 19, 2020 at 16:20 comment added Chris K @keanhy14 nlein is the number of Lyapunov exponents to be calculated. It should be an integer <= the dimension of the system. The default (0) gives all of them. Unless you have a 100- or 1000-dimensional system, setting it so high won't work.
Sep 19, 2020 at 7:54 comment added keanhy14 @ChrisK The nlein_Integer: 0 in the function 'LyapunovExponents[]' can only be taken as '0', and it doesn't work if it is set to be other numbers(100 or 1000), can you fix it?
Jul 1, 2020 at 15:20 history edited Chris K CC BY-SA 4.0
fixed PlotOpts
Apr 28, 2020 at 1:37 history edited Chris K CC BY-SA 4.0
improved LyapunovExponents code a bit
Jan 29, 2020 at 3:07 comment added Bo Johnson @ChrisK I don't know if what I'm looking for is anything theoretically different in the calculation of the Lyapunov spectrum from what you have above. I'm just more wondering if I can pass something like WhenEvent to NDSolve in the code above.
Jan 29, 2020 at 0:23 comment added Chris K @BoJohnson Sorry, I haven't studied how to calculate Lyapunov exponents in systems with events. Do you have any mathematical references? In any case, you could start a new question here.
Jan 28, 2020 at 23:50 comment added Bo Johnson If I had a system like a bouncing ball where I need NDSolve to handle collisions, how would I add this detail to your Lyapunov code above?
May 25, 2019 at 17:59 comment added d_g Thanks a lot @ChrisK! This code is extremely helpful.
May 25, 2019 at 17:56 comment added Chris K @d_g Should be OK!
May 25, 2019 at 17:50 comment added d_g @ChrisK yes that works, thank you so much! Also if I dont first use NDSolve and directly use the LyapunovExponents function, there shouldnt be any problem right?
May 25, 2019 at 17:31 comment added Chris K @d_g I don't know about the package approach. You could just copy the definition into a cell in your notebook -- does that work?
May 25, 2019 at 17:23 comment added d_g I copied your code as a package and tried to run it but it just keeps showing an error when I try to call the package using Get from the Notebook. Any idea why this might be happening?
Apr 21, 2019 at 7:55 comment added Grant Austin Peace Is it possible to do this process in reverse, where I use a set of Lyapunov exponents to determine the orbits of the Rössler system? If so, could how would I go about plotting them? EG. Known ![enter image description here](i.sstatic.net/futsK.png) Unknown ![enter image description here](i.sstatic.net/gzYbl.png)
Jan 9, 2019 at 17:43 comment added Chris K @murray Thanks for the info, but I'm not sure I can use Orthogonalize here, since we need the value of the norms in addition to the orthonormal basis. Let me know if you have thoughts.
Jan 9, 2019 at 16:55 comment added murray Note: That GramSchmidt does not provide an orthonormal basis of the span of the given list of vectors, just an orthogonal basis. (The built-in function Orthogonalize does provide an orthonormal basis -- despite its misleading name!)
Nov 6, 2018 at 18:32 history edited Chris K CC BY-SA 4.0
fixed problem with nonautonomous systems
Oct 4, 2018 at 11:18 comment added Jeroen Thank you so much! It runs perfectly now
Oct 4, 2018 at 2:37 comment added Chris K @JgL Ugh, a semicolon was missing at the end of the line that starts jac =. Could you give it a try now? Thanks!
Oct 4, 2018 at 2:36 history edited Chris K CC BY-SA 4.0
fixed typo in code
Oct 3, 2018 at 19:21 comment added Jeroen I copied your code into Mathematica 11, but it tells me that parts of $\delta$ are undefined. I indeed see the 'other variable' $\delta$ in the function LyapunovExponents not being specified somewhere. Is it possible you forgot a line? The output of the LyapunovExponents function fails for me because it tries to evaluate Log[GramSchmidt[Norm[...]]] where the dots are the undefined components of $\delta$.
Aug 3, 2018 at 21:08 history answered Chris K CC BY-SA 4.0