Updated to StateSpaceSets.jl v2.
- [BREAKING] The
@windowed
macro is removed. It was some incredibly complicated 250 lines of code that offer little benefit. Instead of using this macro, use the newwindowed
function. It does something simple: replaceswithrmat = RecurrenceMatrix(...) @windowed determinism(rmat, theiler=2, lmin=3) width=1000 step=100
width = 1000 step = 100 windows = 1:step:(size(rmat, 1)-width) map(1:length(windows)) do i rmat_view = view( rmat, windows[i]:(windows[i]+width), windows[i]:(windows[i]+width) ) determinism(rmat_view; theiler=2, lmin=3) end
- [BREAKING but deprecated] The way of specifying how recurrences are counted in
RecurrenceMatrix
has been completely overhauled and is now based on specifying the type by using actual type instances instead of keywords. See the new docstring ofRecurrenceMatrix
. - [BREAKING but deprecated] Specifying metrics with strings in
RecurrenceMatrix
and co is deprecated and will be removed in the next version. Use properMetric
instances likeEuclidean()
. - [BREAKING but deprecated] Giving a number as
scale
inRecurrenceMatrix
is deprecated (because its pointless, just giveε = ε*scale
instead). - New exported function
recurrence_threshold
that calculates the recurrence threshold for a given recurrence specification type. - RecurrenceAnalysis.jl has been updated to DynamicalSystems.jl v3 (using StateSpaceSets.jl) and hosts its own docs.
- Better support for iteration over
AbstractRecurrenceMatrix
with functions fromBase
.
- Switch to Graphs.jl from LightGraphs.jl for RNA.
- New method of skeletonizing a Recurrence Matrix
skeletonize
, in order to eliminate tangential motion.
- New, faster formula for
rna[:averagepath]
allowing disconnected graphs.
- Minor documentation fixes.
- Integration with
LightGraphs
to create recurrence networks, andrna
function.
- New method of Fixed Amount of Neighbors (FAN) method to create recurrence plots.
- Now
AbstractRecurrenceMatrix
types have a parameter with the possible values:WithinRange
: when neighboring points are determined by a given distance in the phase space.NeighborNumber
: when each point has a determined number of neighbors.
- Input arguments of
RecurrenceMatrix
, etc. are generalized toAbstractStateSpaceSet
.
- Bugfixes of
transitivity
- Deprecate
AbstractMatrix
inputs toRecurrenceMatrix
etc., in favor ofStateSpaceSet
.
- Increased performance of
RecurrenceMatrix
. - Possible to make
JointRecurrenceMatrix
from input arguments. - New RQA measure:
transitivity
. - Dropped support for Julia 1.0, moving to new LTS 1.6.
(no notable changes until so far)
- Thread-parallelized computation of recurrence plots is now possible.
- Doc improvements
- Return type changes in
rqa
- Breaking changes in implementations of
trend
and denominator of "RR" - name changes in plotting
- Theiler window now has default values that depend on the type:
CrossRecurrenceMatrix
has default 0, otherwise 1.
- Recurrence matrices are printed as a plot using
UnicodePlots
. Seetextrecurrenceplot
.
- Big documentation improvements
- Changes to return values for various rqa functions
- Functions that return recurrence structure histograms
- Updated and more tests
- Performance improvements
- All
recurrencematrix
have been deprecate toRecurrenceMatrix
which create a dedicated struct for each kind of matrix.
- Rework how
recurrencematrix
is computed: now a conversion toStateSpaceSet
is done for small dimensions. In addition, the default metric is nowEuclidean
.
- With this update core functionality of delay embedding and estimating embedding dimension is moved (and used from) the Julia package
DelayEmbeddings
. RecurrenceAnalysis
is also joining JuliaDynamics and DynamicalSystems.jl from 0.5.0 onwards.- Extensions have been implemented so that most functionality works also with
StateSpaceSet
s.
- Function
recurrenceplot
to facilitate the visualization of recurrence plots. - Support of Manhattan norm for the identification of recurrences.
- Option to create matrices with fixed recurrence rate.
rqa
option for obtaining only parameters related to diagonal structures.
- Update to support Julia 1.0.0 and 0.7.0
- RQA functions matching outputs of crqa (R) and CRPToolbox (Matlab)
- Bugfixes:
sorteddistances
- RQA functions (bugs in parameters of diagonal structures when
theiler==0
)
- Break compatibility with 0.6
- Breaking modifications of RQA functions, in order to match the outputs of
crqa (R) and CRPToolbox (Matlab):
- The denominator of RR is fixed to N2.
- Theiler window added to the calculation of LAM and TT.
- Theiler window defaults to 0 in all functions.
- Bugfix in the calculation of diagonal structures
- Update to support Julia 0.6-0.7 (breaking compatibility with 0.5).
- Support for windowed RQA
- Change default scale of
recurrencematrix
, etc. - Improved performance of RQA functions
- Function
rqa
for all RQA parameters - Improved compatibility with Julia 0.5 and 0.6, backwards compatibility with 0.4
- Bugfixes:
fnn
maxdiag
maxvert
- Compatibility with Julia 0.5
- Add
sorteddistances
to calculate optimal thresholds
- Add functions to calculate optimal embedding dimensions
- Include documentation and tests
First release or RecurrenceAnalysis.jl