/DynamicalSystems.jl

A Julia software library for chaos and nonlinear dynamics

Primary LanguageJuliaOtherNOASSERTION

DynamicalSystems.jl logo: The Double Pendulum

Documentation Gitter Travis Citing
Gitter Build Status DOI

DynamicalSystems.jl is a Julia software library for the exploration of chaos and nonlinear dynamics. The current repository holds the documentation and exports all relevant packages.


For installation instructions, full content overview and detailed documentation, click here.


Brief Content Overview

  1. Intuitive, consistent APIs for the definition of general dynamical systems, both maps and flows. In fact we have implementations for 8 possible dynamical systems:

    • Continuous or Discrete.
    • In-place or out-of-place (large versus small systems).
    • Auto-differentiated or not (for the Jacobian function).
  2. Dedicated interface for numerical data

  3. Automatic "completion" of the dynamics of the system with numerically computed Jacobians, in case they are not provided by the user.

  4. Robust implementations of all kinds of integrators, that evolve the system, many states of the system, or even deviation vectors. See the advanced documentation for this.

  5. Library of predefined well-known dynamical systems that have been used extensively in scientific research.

  • Lyapunov Exponents
  • Poincare SOS, Orbit Diagrams
  • Entropies and Dimensions
  • Delay Coordinates Embedding
  • Neighborhood estimation
  • Lyapunov exponent of a timeseries
  • Finding Fixed Points of Maps
  • Detecting Chaos
  • Local Model Prediction
  • Multiple Local Modeling Types
  • Error Measures
  • Internal Delay Embedding using ChaosTools.jl

Double pendulum video:

Checkout this amazing video by Cormullion, featuring the double pendulum (logo of our library)

Double Pendulums Video