# Analogue to lyapunov exponents

**URL:** <https://discourse.julialang.org/t/analogue-to-lyapunov-exponents/70264>\
**Category:** Modelling & Simulations\
**Tags:** diffeq, differentialequation\
**Created:** [October 23, 2021, 1:54pm UTC](https://discourse.julialang.org/t/analogue-to-lyapunov-exponents/70264 "2021-10-23T13:54:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pafloxy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pafloxy/32/28694_2.png) [@pafloxy](https://discourse.julialang.org/u/pafloxy)\
**Post date:** [October 23, 2021, 1:54pm UTC](https://discourse.julialang.org/t/analogue-to-lyapunov-exponents/70264/1 "2021-10-23T13:54:30Z")

</div>

Hi!  
While using the usual **lyapunov** function from the DynamicalSystems.jl package measures the rate of exponential separation of two slightly perturbed trajectories, I would instead like to measure the rate of exponential separation of two trajectories( say of same initial conditions) generated by perturbing one of the parameters in the system.  
Of course, I can try generating the full trajectory for both the cases and then compute the Lyapunov exponent from them but then it won’t be an efficient procedure as the dynamics I am interested in studying the trajectory for a very long interval.  
So is there a better way to do the same  
P.S ~ I would prefer using the Bennetin algorithm for the largest Lyapunov exponent estimation.

---

<div class="post-metadata">

**Author:** ![Datseris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datseris/32/13406_2.png) [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Post date:** [October 23, 2021, 3:02pm UTC](https://discourse.julialang.org/t/analogue-to-lyapunov-exponents/70264/2 "2021-10-23T15:02:12Z")

</div>

Hi!  
This seems easy enough to me: create two `integrator(ds)`, the second one being at the different parameter set. (Be _sure_ that if the parameter container is mutable, it is not shared by the two different `ds` instances). Then using `step!(integ, Δt, true)` on both integrators. The last argument `true` is very important because you want the two trajectories to step at exactly the same time. Then use the same normalization as we do in the `lyapunov` function (see source code).

My question is: how valid is what you want to do mathematically? is there some theory associated with it? if so, can you share? Because, while conceptually what you want to do seems sensible, I haven’t seen so far any theoretical backing that ensures the validity of the approach. (Lyapunov exponents are proven convergent properties of dynamical systems on the other hand)

---

<div class="post-metadata">

**Author:** ![pafloxy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pafloxy/32/28694_2.png) [@pafloxy](https://discourse.julialang.org/u/pafloxy)\
**Post date:** [December 13, 2021, 7:21am UTC](https://discourse.julialang.org/t/analogue-to-lyapunov-exponents/70264/3 "2021-12-13T07:21:22Z")

</div>

Sorry for replying late! You are right that not much literature exists in that direction, but we have some reasons to believe that something useful can be obtained by exploring this idea further, but nothing strong as of now. Thanks for your interest!
