You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The lyapunov function adds a displacement to the current state to generate a neighboring state simply by adding a displacement like stat2 = state1 + d0 where d0 is a real number.
This can be bad in the case of e.g. Hamiltonian systems if the user is really concerned about energy conservation or where nearby states may have different energy that may lead to e,g, escaping to infinity instead of staying in the attractor.@SebastianM-C maybe you want to say something here.
I suggest the following simple fix: add an extra argument to lyapunov called displacement. This argument must be a functionf(state, d0) where given a state and d0 produces a new state that is (approximately) d0 far away from the given state but in the way the user wants. The default value can simply be displacement = +.
To elaborate more on this, there is some discussion in the computation of lyapunov exponent of trying to create a neighboring state where the difference vector is already oriented along the maximal expansion direction. I don't really think this is necessary as orientation happens anyway and very quickly.
The text was updated successfully, but these errors were encountered:
I added this option in #36. It would be very useful to have a dispatch for Hamiltonian systems, where the displacement function would be automatically provided such that the energy is the same for both trajectories.
The
lyapunov
function adds a displacement to the current state to generate a neighboring state simply by adding a displacement likestat2 = state1 + d0
whered0
is a real number.This can be bad in the case of e.g. Hamiltonian systems if the user is really concerned about energy conservation or where nearby states may have different energy that may lead to e,g, escaping to infinity instead of staying in the attractor. @SebastianM-C maybe you want to say something here.
I suggest the following simple fix: add an extra argument to
lyapunov
calleddisplacement
. This argument must be a functionf(state, d0)
where given a state and d0 produces a new state that is (approximately) d0 far away from the given state but in the way the user wants. The default value can simply bedisplacement = +
.To elaborate more on this, there is some discussion in the computation of lyapunov exponent of trying to create a neighboring state where the difference vector is already oriented along the maximal expansion direction. I don't really think this is necessary as orientation happens anyway and very quickly.
The text was updated successfully, but these errors were encountered: