JuliaDynamics / PeriodicOrbits.jl

Interface and algorithms for finding periodic orbits (stable or unstable) in dynamical systems
https://juliadynamics.github.io/PeriodicOrbits.jl/
Other
8 stars 2 forks source link

Local stability for continuous systems #7

Closed JonasKoziorek closed 1 month ago

JonasKoziorek commented 2 months ago

I added Floquet multipliers computation using TangentDynamicalSystem. I haven't really researched for some efficient ways to compute this but I think it works for now. I know that BifurcationKit has PeriodicSchurBifurcationKit.jl but I didn't figure out how to use it yet.

JonasKoziorek commented 2 months ago

One of the Floquet multipliers is always close to 1. I should somehow filter this multiplier out. What do you think the tolerance should be for that? Right now I am not handling this and it seems to work regardless.

Datseris commented 2 months ago

@rveltz should help us here. I am not sure. one multiplier should be 1 because of the continuous time systems, that is normal as far as I understand.

We should try to re-use code as much as possible, as many of the things we do here have been done in BFKit.jl. But, they are they are in a non-transparent setting in the source code as they are interlaced with the continuation. It is good that we do the clean start at PeriodicOrbits.jl so that we can separate the functionality and make everything transparent.

I know Romain is currently on vacation, so we can start increasing the core reuse between packages when he is back.

Datseris commented 2 months ago

Ah wait, what I said about 1 multiplier being 1 due to continuous time is wrong. Is your problem with Floquet 1 from Continuous time or discrete time?

JonasKoziorek commented 2 months ago

@rveltz I just talked with George. We will merge this quick and dirty Floquet estimator and hopefully in the future you can contribute your code from PeriodicSchurBifurcationKit.jl.