Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixedpoints based on root finding #166

Open
reykboerner opened this issue Feb 4, 2025 · 2 comments
Open

fixedpoints based on root finding #166

reykboerner opened this issue Feb 4, 2025 · 2 comments

Comments

@reykboerner
Copy link
Contributor

Describe the feature you'd like to have
I'd like to suggest making the fixedpoints method from ChaosTools.jl available in Attractors.jl. This would allow finding attractors and edge states also via root finding, in addition to the current ways (via proximity, recurrence, featurizing). I would assume that for systems with fixed points this can be the most efficient way?

@Datseris
Copy link
Member

Datseris commented Feb 4, 2025

I was actually thinking that this method should be ported to PeriodicOrbits.jl (which then itself would be used in Attractors.jl). However PeriodicOrbits.jl isn't finished yet.

the fixed point method fits much better the periodic Orbits.jl API: you get a periodic orbit of period 1 (dicrete time) or 0 (continuous time). PeriodicOrbits.jl is also for both stable and unstable orbits while Attractors.jl is only for stable. In contrast, the fixed points function doesn't fit the "mapper" infrastructure that Attractors.lj is based on.

But yeah the main bottlenect is that a small amount of polishing is still remaining for PeriodicOrbits.jl before it is publised.

@Datseris
Copy link
Member

Datseris commented Feb 4, 2025

I would assume that for systems with fixed points this can be the most efficient way?

It depends on how many attractors there are in the system. For relatively few, the recurrences method is a super efficient way for fixed points, but it only works for stable ones.

Do note that our fixed point function uses interval arethmetic. So there is some sort of "guarantee" that it will find all fixed points, but I haven't actually tested how well the guarantee holds in real world use cases. It can get pretty expensive plus it requires a smooth enough Jacobian which many dynamial systems don't have.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants