pyGD
pyGD runs the Kuramoto model of coupled phase oscillators and lets you interfere with it. The oscillators live on the nodes of a graph, each pulled toward the phases of its neighbors; turn up the coupling and they synchronize. On top of them lives an agent — the Yokai — that hops from node to node, reads the local mean field, and kicks each phase it visits in the direction that opposes synchrony.
The library ships two dynamics and one agent. Kuramoto
is the oscillator environment; Yokai is the agent that
drives it out of step; KuramotoCG is the coarse-grained
continuum limit, the stochastic dynamics you reach when the agent is integrated
out. Graphs come from networkx; the dynamics only ever see the sparse
adjacency matrix, so any graph networkx can build is a graph pyGD can run.
The model and the information-theoretic reading of the agent are in Sowinski, Frank & Ghoshal, Phys. Rev. Research 6, 043188 (2024)[1]. If you’re new here, start with Getting Started, take the model for a spin in the Applet, then work through whichever guide matches your problem. The library ports a set of MATLAB classes, whose interface it keeps.
Guide
Reference
Citing
Sowinski DR. pyGD [computer software]. Version 0.1.0. 2026. Accessed July 21, 2026. https://github.com/EternalTime/pyGD
@software{sowinski_pygd,
author = {Sowinski, Damian R.},
title = {pyGD: Kuramoto dynamics on graphs with a desynchronizing agent},
year = {2026},
version = {0.1.0},
url = {https://github.com/EternalTime/pyGD}
}