takens_best_estimate
now returns three arguments, the estimate plus the upper and lower 95%-confidence limits.
- New function
transit_time_statistics
that allows computing return times and transit times to subsets of the state space. (Currently for discrete systems only) - Moved support to Julia 1.5+.
orbitdiagram
now allows only collecting states within user-provided limits.
- Takens' best estimate method for estimating the correlation dimension is available as
takens_best_estimate
.
binhist
method that returns data histogram and bin edges- further optimization of
correlationsum
for vectorεs
.
- Theiler's correction is now possible in estimating the correlation sum (as a result,
norm
is now a keyword).
- Added method for estimating correlation dimension (and as a pre-requisite, also the correlation sum) based on the method of Grassberger-Proccacia.
- Added "kernel density nearest neighbor" estimator for probabilistic description of a dataset.
- The expansion entropy from Hunt and Ott (defining chaos 2015) is now included as
expansionentropy
! Thanks and welcome to our new contributor @yuxiliu1995 !
- new function
testchaos01
which implements the so called "0-1" test for chaos, that can test if a numeric timeseries is chaotic or not.
- New function
estimate_period
that attempts to estimate the period of a signal using the following methods:- The autocorrelation function (when it comes close to 1 again)
- Implementation of Wernecke, H., Sándor, B. & Gros, C.
How to test for partially predictable chaos. Scientific Reports 7, (2017). Thanks and welcome to our new contributor @efosong ! Implemented with the function
predictability
.
- Updated everything to new DiffEqBase 5.0 and the new default integrator (
SimpleATsit5
) - Simplified low-level call signature for
poincaresos
. - Small documentation improvements throughout.
estimate_boxsizes
now slightly expands borders if upper and lower do not have 2 orders of magnitude difference.
- increased performance of
non0hist
- Documentation improvements
- Actually fix the issue with
poincaresos
and states starting on the plane - The default of
direction
had to change to-1
. We realized that having1
was wrong and unintuitive with how the PSOS data is returned and plotted and thus we consider this a bugfix.
- allow
u0
as keyword inpoincaresos
- Fixed a bug in
poincaresos
when the initial condition was on the plane. - Allowed
poinracesos
andproduce_orbitdiagram
to also configure the keywords of the root finding.
First major release.
- Renamed all low-level methods that were exposed as part of the API to not start with an underscore anymore.
- Updated everything (REQUIRES etc) to julia 1.0.
- Added convergence return function for lyapunov exponents.
- Dropped support for all julia < 0.7
- Method for estimating reconstruction dimension now estimate temporal neighbor number to account for
reconstruct
. - Reworked a bit how
orbitdiagram
s and co. behave. Now if given multiple states it is assumed that each state is for a different parameter. Please read the documentation strings of the functions.
- Brand new algorithm that computes poincare sections. Now uses interpolation of DiffEq and root finding of Roots.jl. This gives at least an order of magnitude speedup in
produce_orbitdiagram
and makes the source code massively more clear!!! - It is now possible to choose which variables to save in both discrete and continuous orbit diagrams.
- Added method to compute mutual information, from A. Kraskov et al., [Phys. Rev. E 69, pp 066138 (2004)]
- Added method in finding delay time that uses mutual information. At the moment this method is vastly inferior to all others both in speed and in actual results.
lyapunovs
is 1 to 2 orders of magnitude faster.
- Changed
gali
call signature to be the same aslyapunovs
. - Bugfixed 1D lyapunov computation
- Bugfixed
set_deviations!
for continuous systems - Updated for
DynamicalSystemsBase
0.10 (usingget_state
etc.) - Significantly reduced code repetition in the source.
- Upgraded
poincaresos
to work for any arbitrary hyperplane. The call signature had to change to make it work.
- Docstring typos fixed
- Removed aliases from
genentropy
.
- Methods for estimating Reconstruction parameters moved here.
- Added Cao's method for estimating dimension.
- Added methods to find delay time:
- First minimum
- First zero
- Exp. decay
- Mutual information (NOT exported, needs to be tested and documented)
- Generalized
numericallyapunov
to allow choosing Theiler window (and adopted it to newneighborhood
function). - Keyword
method
innumericallyapunov
changed to
- The code for estimating reconstruction parameters was moved to
DynamicalSystemsBase
.
- Theiler window is now configurable in
numericallyapunov
. - Updated source and documentation for new
Reconstruction
. - Type-stability tests and improvements.
This version updates all internals to be on par with DynamicalSystemsBase
0.6
All internal implementations of methods that use a DynamicalSystem
have been
reworked almost from the ground up.
This lead to (only minor) changes to some of the high level interfaces. Please see the documentation strings of each function before using it.
- Bugfix: gali was invasive in the diff_eq_kwargs
- Updated everything to be on par with the changes of DynamicalSystemsBase v0.5
- Minor bug fixes resulting from misstypos.
- New method for permutation entropy:
permentropy
!
- Added Broomhead King function
- Estimate_delay and other functions about reconstructions are now in this repo.
- Many bugfixes relating evolution of continuous systems and correct callback propagation.
- Updated everything to be on par with Base 0.3.1
- Added more tests
- Propagate callbacks etc in orbit diagrams
- Overhauled the way
estimate_boxsizes
works.
- added method for Poincare surface of section
- added orbit diagram for maps
- added production of orbit diagram for flows through Poincare surface of sections
Initial release, see: https://juliadynamics.github.io/DynamicalSystems.jl/v1.0.0/ for the features up to this point.