Attractor Topology Toolkit¶
ATT is a Python library for topological analysis of dynamical attractors via persistent homology on Takens embeddings. Its core contribution is the joint-vs-marginal persistence image framework: by comparing the persistent homology of a joint delay embedding against the marginals, ATT detects topological binding – emergent structure that exists only when two systems are coupled.
from att.config import set_seed
from att.synthetic import lorenz_system
from att.embedding import TakensEmbedder
from att.topology import PersistenceAnalyzer
set_seed(42)
trajectory = lorenz_system(n_steps=5000)
cloud = TakensEmbedder(delay=15, dimension=3).fit_transform(trajectory[:, 0])
result = PersistenceAnalyzer(max_dim=2).fit_transform(cloud)
Key Features¶
Synthetic generators – Lorenz, Rossler, coupled systems, switching dynamics
Takens & joint embedding – automatic delay/dimension estimation (AMI + FNN)
Persistent homology – Ripser and GUDHI backends, persistence images, Betti curves
Binding detection – joint-vs-marginal residuals with surrogate significance testing
Transition detection – sliding-window PH with CUSUM changepoint detection
Benchmark framework – compare binding score against transfer entropy, PAC, CRQA
EEG support – MNE-Python loader with auto-estimation and literature fallback params
Publication-quality plots – diagrams, barcodes, binding images, transition timelines