CyclingSignatures.jl
Documentation for CyclingSignatures.jl.
About
Cycling signatures are a tool to identify and classify oscillatory dynamics in (multivariate) time series.
Given a time seris $x_0,x_1,\dots, x_m \in \mathbb{R}^n$, the basic pipeline is:
- Generate a comparison space $Y$ by covering the time series and compute its homology $H_1(Y)$.
- Compute the homology $H_1(\gamma)$ of thickened segments $\gamma = \{x_i, x_{i+1},\dots, x_j\}$.
- Compute the image of the map $H_1(\gamma) \rightarrow H_1(Y)$, this is the Cycling Signature.
Collections of cycling signatures can provide a coarse description of recurrent dynamics. For instance, frequently appearing one dimensional cycling signatures indicate elementary cycling motions. These can be related using higher dimensional cycling signatures.
Installation
Install the package by first adding StepFunctions.jl and then CyclingSignatures.jl
using Pkg
Pkg.add(url="https://github.com/davidhien/StepFunctions.jl")
Pkg.add(url="https://github.com/davidhien/CyclingSignatures.jl")
Then load it via
using CyclingSignaturesReferences
U. Bauer, D. Hien, O. Junge, and K. Mischaikow. Cycling signatures: Identifying cycling motions in time series using algebraic topology. Journal of Computational Dynamics 12(4), 554–595 (2025). DOI: 10.3934/jcd.2025007.