diff --git a/src/algorithms/discrete_time/schmelcher_diakonos.jl b/src/algorithms/discrete_time/schmelcher_diakonos.jl index b8ebddb..4848a55 100644 --- a/src/algorithms/discrete_time/schmelcher_diakonos.jl +++ b/src/algorithms/discrete_time/schmelcher_diakonos.jl @@ -55,18 +55,17 @@ function periodic_orbits(ds::DiscreteTimeDynamicalSystem, alg::SchmelcherDiakono POs = type[] for λ in alg.λs, inds in alg.indss, sings in alg.signss Λ = lambdamatrix(λ, inds, sings) - _periodic_orbits!(POs, ds, alg, igs, Λ) + _periodic_orbits_sd!(POs, ds, alg, igs, Λ) end po = PeriodicOrbit[PeriodicOrbit(ds, fp, alg.o) for fp in POs] return po end -function _periodic_orbits!(POs, ds, alg, igs, Λ) - igs = [ig.u0 for ig in igs] +function _periodic_orbits_sd!(POs, ds, alg, igs, Λ) for ig in igs - reinit!(ds, ig) - previg = ig + reinit!(ds, ig.u0) + previg = ig.u0 for _ in 1:alg.maxiters previg, ig = Sk(ds, previg, alg.o, Λ) norm(ig) > alg.inftol && break