Engee documentation

Contents

When you do using DynamicalSystems in your Julia session, the module re-exports and brings into scope all submodules (Julia packages) that compose DynamicalSystems.jl. These are listed in this page. Of course, you could be using these packages directly instead of adding DynamicalSystems. However, doing using DynamicalSystems provides the environment all these packages were designed to work together in, and so we recommend to simply install DynamicalSystems and use that.

Exported submodules

The submodules that compose DynamicalSystems.jl are the following packages, which are re-exported by DynamicalSystems:

Core

For observed/measured data

For dynamical system instances

At the very end of this page, a full list of exported names is presented.

Core

StateSpaceSets.jl

docs dev lightblue docs stable blue DOI 10 CI codecov Package Downloads

A Julia package that provides functionality for state space sets. These are collections of points of fixed, and known by type, size (called dimension). It is used in several projects in the JuliaDynamics organization, such as DynamicalSystems.jl or CausalityTools.jl.

The main export of StateSpaceSets is the concrete type StateSpaceSet. The package also provides functionality for distances, neighbor searches, sampling, and normalization.

To install it you may run import Pkg; Pkg.add("StateSpaceSets"), however, there is no real reason to install this package directly as it is re-exported by all downstream packages that use it.

previously StateSpaceSets.jl was part of DelayEmbeddings.jl

DynamicalSystemsBase.jl

docs dev lightblue docs stable blue DOI 10 CI codecov Package Downloads

A Julia package that defines the DynamicalSystem interface and many concrete implementations used in the DynamicalSystems.jl ecosystem.

To install it, run import Pkg; Pkg.add("DynamicalSystemsBase"). Typically, you do not want to use DynamicalSystemsBase directly, as downstream analysis packages re-export it.

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

For observed/measured data

ComplexityMeasures.jl

Docs CI codecov Package Downloads Package Downloads DOI

A Julia package that provides estimators for probabilities, entropies, and other complexity measures, in the context of nonlinear dynamics, nonlinear timeseries analysis, and complex systems. It can be used as a standalone package, or as part of other projects in the JuliaDynamics organization, such as DynamicalSystems.jl or CausalityTools.jl.

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

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, this package was called Entropies.jl.

RecurrenceAnalysis.jl

docs dev lightblue docs stable blue CI codecov Package Downloads

A Julia module that offers tools for computing Recurrence Plots and exploring them within the framework of Recurrence Quantification Analysis and Recurrence Network Analysis. It can be used as a standalone package, or as part of DynamicalSystems.jl.

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

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

DelayEmbeddings.jl

docs dev lightblue docs stable blue DOI 10 CI codecov Package Downloads

A Julia package that provides a generic interface for performing delay coordinate embeddings, as well as cutting edge algorithms for creating optimal embeddings given some data. It can be used as a standalone package, or as part of DynamicalSystems.jl.

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

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

FractalDimensions.jl

docs dev lightblue docs stable blue ARXIV.2109 CI codecov Package Downloads

A Julia package that estimates various definitions of fractal dimension from data. It can be used as a standalone package, or as part of DynamicalSystems.jl.

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

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, this package was part of ChaosTools.jl.

Publication

FractalDimensions.jl is used in a review article comparing various estimators for fractal dimensions. The paper is likely a relevant read if you are interested in the package. And if you use the package, please cite the paper.

@article{FractalDimensions.jl,
  doi = {10.1063/5.0160394},
  url = {https://doi.org/10.1063/5.0160394},
  year = {2023},
  month = oct,
  publisher = {{AIP} Publishing},
  volume = {33},
  number = {10},
  author = {George Datseris and Inga Kottlarz and Anton P. Braun and Ulrich Parlitz},
  title = {Estimating fractal dimensions: A comparative review and open source implementations},
  journal = {Chaos: An Interdisciplinary Journal of Nonlinear Science}
}

TimeseriesSurrogates.jl

docs dev lightblue docs stable blue joss CI codecov Package Downloads

A Julia package for generating timeseries surrogates. TimeseriesSurrogates.jl is the fastest and most featureful open source code for generating timeseries surrogates. It can be used as a standalone package, or as part of DynamicalSystems.jl.

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

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

Citing

Please use the following BiBTeX entry, or DOI, to cite TimeseriesSurrogates.jl:

BiBTeX:

@article{TimeseriesSurrogates.jl,
    doi = {10.21105/joss.04414},
    url = {https://doi.org/10.21105/joss.04414},
    year = {2022},
    publisher = {The Open Journal},
    volume = {7},
    number = {77},
    pages = {4414},
    author = {Kristian Agasøster Haaga and George Datseris},
    title = {TimeseriesSurrogates.jl: a Julia package for generating surrogate data},
    journal = {Journal of Open Source Software}
}

For dynamical system instances

PredefinedDynamicalSystems.jl

docs online blue CI Package Downloads

Module which contains pre-defined dynamical systems that can be used by the DynamicalSystems.jl library. To install it, run import Pkg; Pkg.add("PredefinedDynamicalSystems").

Predefined systems exist as functions that return a DynamicalSystem instance. They are accessed like:

ds = PredefinedDynamicalSystems.lorenz(u0; ρ = 32.0)

The alias Systems is also exported as a deprecation.

This module is provided purely as a convenience. It does not have any actual tests, and it is not guaranteed to be stable in future versions. It is not recommended to use this module for anything else besides on-the-spot demonstrative examples.

For some systems, a Jacobian function is also defined. The naming convention for the Jacobian function is \$(name)_jacob. So, for the above example we have J = Systems.lorenz_jacob.

All available systems are provided in the documentation, which you can either find online or build locally by running the docs/make.jl file.

ChaosTools.jl

docs dev lightblue docs stable blue DOI 10 CI codecov Package Downloads

A Julia module that offers various tools for analysing nonlinear dynamics and chaotic behaviour. It can be used as a standalone package, or as part of DynamicalSystems.jl.

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

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

ChaosTools.jl is the jack-of-all-trades package of the DynamicalSystems.jl library: methods that are not extensive enough to be a standalone package are added here. You should see the full DynamicalSystems.jl library for other packages that may contain functionality you are looking for but did not find in ChaosTools.jl.

Attractors.jl

docs dev lightblue docs stable blue 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

  • "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

All exported names

This section lists all exported names of the DynamicalSystems.jl library. We do not list their documentation in any way here. This list is only meant as a quantitative listing of features, as well as perhaps helping searching via the search bar. To actually learn how to use all these exported names you need to use above-linked documentation of the respective submodules!

The total exported names are:

using DynamicalSystems
all_exported_names = names(DynamicalSystems)
length(all_exported_names)
378

And they are:

using DisplayAs
DisplayAs.unlimited(all_exported_names)
378-element Array{Symbol, 1}:
 :..
 Symbol("@windowed")
 :AAFT
 :AR1
 :AbstractBinning
 :AbstractDataset
 :AbstractEmbedding
 :AbstractRecurrenceType
 :AbstractStateSpaceSet
 :AlizadehArghami
 :AllSlopesDistribution
 :ApproximateEntropy
 :ArbitrarySteppable
 :AttractorMapper
 :Attractors
 :AttractorsBasinsContinuation
 :AttractorsViaFeaturizing
 :AttractorsViaProximity
 :AttractorsViaRecurrences
 :AutoRegressive
 :BlockShuffle
 :BruteForce
 :Centroid
 :ChaosTools
 :Chebyshev
 :CircShift
 :Cityblock
 :ClusteringConfig
 :ComplexityEstimator
 :ComplexityMeasure
 :ComplexityMeasures
 :Composite
 :ContinuousDynamicalSystem
 :ContinuousTimeDynamicalSystem
 :CoreDynamicalSystem
 :Correa
 :CountOccurrences
 :CoupledODEs
 :CramerVonMises
 :CrossRecurrenceMatrix
 :CrossingAccurateInterpolation
 :CrossingLinearIntersection
 :Curado
 :CycleShuffle
 :Dataset
 :DelayEmbedding
 :DelayEmbeddings
 :DeterministicIteratedMap
 :DiffEntropyEst
 :DifferentialEntropyEstimator
 :DiscEntropyEst
 :DiscreteDynamicalSystem
 :DiscreteEntropyEstimator
 :DiscreteTimeDynamicalSystem
 :Dispersion
 :Diversity
 :DynamicalSystem
 :DynamicalSystems
 :DynamicalSystemsBase
 :Ebrahimi
 :Encoding
 :EntropyDefinition
 :Euclidean
 :FAN
 :FT
 :FirstElement
 :FixedRectangularBinning
 :FractalDimensions
 :Gao
 :GaussianCDFEncoding
 :GeneralizedEmbedding
 :GlobalRecurrenceRate
 :Goria
 :GroupAcrossParameter
 :GroupAcrossParameterContinuation
 :GroupViaClustering
 :GroupViaHistogram
 :GroupViaNearestFeature
 :GroupingConfig
 :HRectangle
 :HSphere
 :HSphereSurface
 :Hausdorff
 :IAAFT
 :IntervalBox
 :InvariantMeasure
 :IrregularLombScargle
 :JointRecurrenceMatrix
 :KDTree
 :Kaniadakis
 :KozachenkoLeonenko
 :Kraskov
 :LargestLinearRegion
 :LinearRegression
 :LocalRecurrenceRate
 :Lord
 :MLEntropy
 :MissingDispersionPatterns
 :NLNS
 :NSAR2
 :NaiveKernel
 :NeighborNumber
 :OrdinalPatternEncoding
 :ParallelDynamicalSystem
 :PartialRandomization
 :PartialRandomizationAAFT
 :PlaneCrossing
 :PoincareMap
 :PowerSpectrum
 :PredefinedDynamicalSystems
 :Probabilities
 :ProbabilitiesEstimator
 :ProjectedDynamicalSystem
 :PseudoPeriodic
 :PseudoPeriodicTwin
 :RAFM
 :RandomCascade
 :RandomFourier
 :RandomShuffle
 :RectangularBinEncoding
 :RectangularBinning
 :RecurrenceAnalysis
 :RecurrenceMatrix
 :RecurrenceThreshold
 :RecurrenceThresholdScaled
 :RecurrencesFindAndMatch
 :RecurrencesSeededContinuation
 :Regular
 :Renyi
 :ReverseDispersion
 :SMatrix
 :SNLST
 :SVector
 :SampleEntropy
 :Shannon
 :ShuffleDimensions
 :SpatialDispersion
 :SpatialSymbolicPermutation
 :StateSpaceSet
 :StateSpaceSets
 :StatisticalComplexity
 :StretchedExponential
 :StrictlyMinimumDistance
 :StroboscopicMap
 :Surrogate
 :SurrogateTest
 :SymbolicAmplitudeAwarePermutation
 :SymbolicPermutation
 :SymbolicWeightedPermutation
 :Systems
 :TAAFT
 :TFTD
 :TFTDAAFT
 :TFTDIAAFT
 :TFTDRandomFourier
 :TFTS
 :TangentDynamicalSystem
 :TimeScaleMODWT
 :TimeseriesSurrogates
 :TransferOperator
 :Tsallis
 :ValueHistogram
 :Vasicek
 :VisitationFrequency
 :WLS
 :WaveletOverlap
 :WithinRange
 :Zhu
 :ZhuSingh
 :aggregate_attractor_fractions
 :allprobabilities
 :autocor
 :automatic_Δt_basins
 :basin_entropy
 :basins_fractal_dimension
 :basins_fractal_test
 :basins_fractions
 :basins_of_attraction
 :beta_statistic
 :boxassisted_correlation_dim
 :boxed_correlationsum
 :broomhead_king
 :colored_noise
 :columns
 :complexity
 :complexity_normalized
 :continuation
 :convert_logunit
 :coordinates
 :correlationsum
 :current_crossing_time
 :current_deviations
 :current_parameters
 :current_state
 :current_states
 :current_time
 :dataset_distance
 :datasets_sets_distances
 :decode
 :delay_afnn
 :delay_f1nn
 :delay_fnn
 :delay_ifnn
 :determinism
 :dimension
 :distancematrix
 :divergence
 :dl_average
 :dl_entropy
 :dl_max
 :dyca
 :dynamic_rule
 :embed
 :encode
 :entropy
 :entropy_approx
 :entropy_complexity
 :entropy_complexity_curves
 :entropy_dispersion
 :entropy_maximum
 :entropy_normalized
 :entropy_permutation
 :entropy_sample
 :entropy_wavelet
 :estimate_boxsizes
 :estimate_delay
 :estimate_gpd_parameters
 :estimate_period
 :estimate_r0_buenoorovio
 :estimate_r0_theiler
 :exit_entry_times
 :expansionentropy
 :exponential_decay_fit
 :extract_attractors
 :extract_features
 :extremal_index_sueveges
 :extremevaltheory_dim
 :extremevaltheory_dims
 :extremevaltheory_dims_persistences
 :extremevaltheory_gpdfit_pvalues
 :extremevaltheory_local_dim_persistence
 :findlocalextrema
 :findlocalminima
 :first_return_times
 :fixedmass_correlation_dim
 :fixedmass_correlationsum
 :fixedpoints
 :gali
 :garcia_almeida_embedding
 :genembed
 :genentropy
 :generalized_dim
 :get_deviations
 :get_state
 :grassberger_proccacia_dim
 :grayscale
 :group_features
 :higuchi_dim
 :initial_parameters
 :initial_state
 :initial_states
 :initial_time
 :integrator
 :interval
 :invariantmeasure
 :isdeterministic
 :isdiscretetime
 :isinplace
 :kaplanyorke_dim
 :lambdamatrix
 :lambdaperms
 :laminarity
 :linear_region
 :linear_regions
 :linreg
 :local_growth_rates
 :lyapunov
 :lyapunov_from_data
 :lyapunovspectrum
 :match_attractor_ids!
 :match_basins_ids!
 :maxima
 :mdop_embedding
 :mdop_maximum_delay
 :mean_return_times
 :meanrecurrencetime
 :minima
 :minimum_pairwise_distance
 :minmaxima
 :missing_outcomes
 :molteno_boxing
 :molteno_dim
 :n_statistic
 :nmprt
 :noiseradius
 :optimal_separated_de
 :optimal_traditional_de
 :orbitdiagram
 :orthonormal
 :outcome_space
 :outcomes
 :parallel_integrator
 :pecora
 :pecuzal_embedding
 :periodicorbits
 :permentropy
 :poincaremap
 :poincaresos
 :pointwise_correlationsums
 :pointwise_dimensions
 :predictability
 :prismdim_theiler
 :probabilities
 :probabilities!
 :probabilities_and_outcomes
 :produce_orbitdiagram
 :projected_integrator
 :pvalue
 :random_cycles
 :randomwalk
 :reconstruct
 :recurrence_threshold
 :recurrenceplot
 :recurrencerate
 :recurrencestructures
 :recursivecopy
 :reinit!
 :rematch!
 :replacement_map
 :rna
 :rqa
 :rt_average
 :rt_entropy
 :rt_max
 :selfmutualinfo
 :set_deviations!
 :set_distance
 :set_parameter!
 :set_parameters!
 :set_period!
 :set_state!
 :setsofsets_distance
 :setsofsets_distances
 :skeletonize
 :slopefit
 :sorteddistances
 :standardize
 :statespace_sampler
 :step!
 :stochastic_indicator
 :successful_step
 :surrogate
 :surrogenerator
 :surroplot_path
 :swap_dict_keys!
 :takens_best_estimate_dim
 :tangent_integrator
 :testchaos01
 :textrecurrenceplot
 :tipping_probabilities
 :total_outcomes
 :trajectory
 :transfermatrix
 :transit_return_times
 :transitivity
 :trappingtime
 :trend
 :uncertainty_exponent
 :unique_keys
 :uzal_cost
 :uzal_cost_local
 :vl_average
 :vl_entropy
 :vl_max
 :windowed
 :yin
 :×
 :τrange