I have been studying the chaotic behavior of pendulum systems inside a buoy on the ocean. I've simulated such a system using Simscape multibody, and I obtain all the usual characteristics of chaos. It displays sensitivity to initial conditions, topological mixing, and dense periodic orbits. For certain forces and damping, the Poincaré map shows a chaotic attractor that is bounded and every Poincaré sample stays within the pattern no matter how long the simulation time is.

Where I'm confused is my Lyapunov spectrum. I don't have a system of equations - the EOM for the pendulum considering multiple degrees of freedom and all the hydro forces gets messy. So I'm using the data from position and velocity (since my phase space and Poincaré map is using pendulum position and velocity). I output the MLE as: $$ \lambda = \frac{1}{t_{n}}\sum_{i=1}^{n} \ln\left( a_i \right),\quad a_i = \frac{d(t_{i})}{d_0}. $$ where d(t_i) is the difference between the position data from one simulation and position data from another simulation where the initial angle was off slightly. Same for velocity.

But I get both positive exponents whereas from what I've read, the second dimension should yield a zero exponent...

What would an all positive Lyapunov spectrum mean? How could I see a chaotic attractor without having at least one exponent be zero? I know I have a lot more factors going on than the traditional forced, damped system in one degree of freedom, which will have an effect, just asking around here for folks' thoughts as I'm out of them! And please correct me if need be; human error could certainly be the cause...

Thanks, and happy to edit to provide more info.


1 Answer 1


If the system is conservative, as one would expect, the sum of the Lyapunov exponents should be zero, so not only there should be a zero exponent (for a continuous system), but some exponents gotta be negative.

As the question itself states, this system seems to have "multiple degrees of freedom", and the Lyapunov spectrum is equally large (i.e., the number of exponents is equal to the number $n$ of dimensions of the full phase space), so finding 2 positive exponents doesn't mean something is wrong, if $n\ge4$.

Most importantly, make sure your calculations make sense. In particular, if you calculate the MLE, then as the name says, it's the "maximum" you get, which is a single number, not the the full spectrum. Also, you should keep the orbits you're using very close to each other throughout the simulation. You might want to check the references mentioned, e.g., in the answers here for a detailed description.

Since you're already using Matlab, a ready-made solution such as "Wolf Lyapunov exponent estimation from a time series" by the author himself could be interesting.

  • $\begingroup$ thanks for the quick reply. Ah yes, I have read that post before, and also I've read Alligood, Sauer, and Yorke and did the examples of the Gram–Schmidt method, but everything seems to be when you have equations whereas I'm using simulation data so I'm not sure I can use the methods described in the references...I will look more. $\endgroup$
    – t-osu
    Commented Oct 12, 2022 at 16:20
  • $\begingroup$ Also, I believe I'm mistaken. I thought the dimensions were based on what one plots in the phase space. For my case, the pendulum is moving in yaw inside a buoy that moves in all DOFs. My poincare samples are the pos vel of the pendulum only in yaw which I calculate the exponent from. From your response, it sounds like the lyapunov spectrum would consist of pos and vel exponents of all DOFs? $\endgroup$
    – t-osu
    Commented Oct 12, 2022 at 16:23
  • $\begingroup$ @t-osu I've expanded the answer with a reference to a Matlab tool that might be useful. Notice too, that the post I'd referenced also includes a link possibly relevant to your case: "MLE from a numerical dataset. $\endgroup$
    – stafusa
    Commented Oct 12, 2022 at 16:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.