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}
}

Indices and tables

References