docsdev docsstable Paper CI codecov Package Downloads

A Julia module for

  • finding attractors of arbitrary dynamical systems
  • finding their basins of attraction or the state space fractions of the basins
  • analyzing global stability of attractors (also called non-local stability or resilience)
  • "continuing" the attractors and their basins over a parameter range
  • finding the basin boundaries and analyzing their fractal properties
  • tipping points related functionality for systems with known dynamic rule
  • and more!

It can be used as a standalone package, or as part of DynamicalSystems.jl.

To install it, run import Pkg; Pkg.add("Attractors").

All further information is provided in the documentation, which you can either find online or build locally by running the docs/make.jl file.

Previously, Attractors.jl was part of ChaosTools.jl


Latest news

  • New functions edgetracking and bisect_to_edge added that implement an edge tracking algorithm to find saddles or edge states in dynamical systems, also when they are unstable chaotic sets.

Outline of Attractors.jl

Attractors.jl flowchart

  1. First be sure that you are aware of what is a DynamicalSystem. This is the input to the whole infrastructure of Attractors.jl.
  2. The bulk of the work in Attractors.jl is done by the AttractorMapper type, that instructs how to find attractors and maps initial conditions to them. It can be used in functions like basins_fractions.
  3. For grouping features, there is a sub-infrastructure for instructing how to group features, which is governed by GroupingConfig.
  4. The infrastructure of finding attractors and their basins fractions is then integrated into a brand new way of doing bifurcation analysis in the continuation function.
  5. See Examples for Attractors.jl for several applications in real world cases.