# Accuracy of method of integration DifferentialEquations.jl

**URL:** <https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833>\
**Category:** Modelling & Simulations\
**Created:** [March 30, 2023, 8:28am UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833 "2023-03-30T08:28:45Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 30, 2023, 8:28am UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/1 "2023-03-30T08:28:45Z")

</div>

I have limit cycle in phase space, when i scale trajectory in phase space i see different lines.

 ![image](https://global.discourse-cdn.com/julialang/original/3X/2/b/2b4e9aac0998990a22ae73735bb4376f32d694ee.png)  
 ![image](https://global.discourse-cdn.com/julialang/original/3X/4/8/48735ecea5ea7d7125909e7bf15addee73e5df5a.png)  
This is due to the accuracy of the integration method or this is problem of CairoMakie?  
Code:

```julia
function Res(u, p, t)
    du1 = -u[2]-u[3]
    du2 = u[1]+p[1]*u[2]
    du3 = p[2]*u[1]-p[3]*u[3]+u[1]*u[3]
    return SA[du1, du2, du3]
end;

```

```julia
t = 500; tstep = 0.0001; Tt = 1000
trange = range(0.0, t, step = tstep)
integ_set = (alg = Vern9(), adaptive = false, dt = tstep);
const b = 0.3; const c = 4.9
a = 0.08;
u0 = SA[0.1, 0.3, 0.5]
p = SA[a, b, c]
ds = CoupledODEs(Res, u0, p, diffeq = integ_set)
tr, _ = trajectory(ds, t, Δt = tstep; Ttr = Tt)

```

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [March 30, 2023, 12:36pm UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/2 "2023-03-30T12:36:41Z")

</div>

That’s just an accuracy thing. RK methods have drift. See:

[https://docs.sciml.ai/DiffEqDocs/stable/examples/kepler\_problem/](https://docs.sciml.ai/DiffEqDocs/stable/examples/kepler_problem/)

---

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 30, 2023, 1:37pm UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/3 "2023-03-30T13:37:35Z")

</div>

Thank you  
How can i fix this? I have another system where the situation is the same. I need increased accuracy , since there is a homoclinic and Shilnikov attractor. Also, when trying to build a Poincare mapping, I observe this drift

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [March 30, 2023, 2:10pm UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/4 "2023-03-30T14:10:52Z")

</div>

Use a symplectic integrator if it’s a symplectic system?

---

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 30, 2023, 2:19pm UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/5 "2023-03-30T14:19:53Z")

</div>

I do not know how to check if my system is such, but i think not  
In early works, everyone used the Runge-Kutta integration method of 4 order

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [March 30, 2023, 2:25pm UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/6 "2023-03-30T14:25:52Z")

</div>

> [@Sergey\_Novak](#):
>
> In early works, everyone used the Runge-Kutta integration method of 4 order

Which has this drift. And in general it’s fine. Its error is dependent on the size of dt. Lower the tolerance and it decreases. Vern9 with a low tolerance will be pretty small. But non-zero.

---

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 30, 2023, 3:14pm UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/7 "2023-03-30T15:14:15Z")

</div>

I have `adaptive = false, dt = 0.001`  
I will try lower dt, thank you

---

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 30, 2023, 3:34pm UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/8 "2023-03-30T15:34:17Z")

</div>

Can you share additional reference where i can read about drift?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [March 30, 2023, 3:40pm UTC](https://discourse.julialang.org/t/accuracy-of-method-of-integration-differentialequations-jl/96833/9 "2023-03-30T15:40:26Z")

</div>

> **[Geometric Numerical Integration](https://link.springer.com/book/10.1007/3-540-30666-8)**
