An open API service indexing awesome lists of open source software.

https://github.com/arnaudon/simplicial-kuramoto

Tool to numerically solve and analyse simplicial Kuramoto models.
https://github.com/arnaudon/simplicial-kuramoto

complex-network higher-order-interactions kuramoto-model simplicial-complex syncrhonization

Last synced: 16 days ago
JSON representation

Tool to numerically solve and analyse simplicial Kuramoto models.

Awesome Lists containing this project

README

        

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7988477.svg)](https://doi.org/10.5281/zenodo.7988477)
[![Documentation status](https://readthedocs.org/projects/docs/badge/?version=latest)](https://arnaudon.github.io/simplicial-kuramoto/)
[![PyPI version](https://badge.fury.io/py/simplicial-kuramoto.svg)](https://badge.fury.io/py/simplicial-kuramoto)
[![codecov](https://codecov.io/gh/arnaudon/simplicial-kuramoto/branch/master/graph/badge.svg?token=STP9DFO8MN)](https://codecov.io/gh/arnaudon/simplicial-kuramoto)
[![Actions Status](https://github.com/arnaudon/simplicial-kuramoto/actions/workflows/run-tox.yml/badge.svg?branch=master)](https://github.com/arnaudon/simplicial-kuramoto/actions)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

# Simplicial Kuramoto

This repository contains the code written to produce the figures of
```
Connecting Hodge and Sakaguchi-Kuramoto: a mathematical framework for coupled
oscillators on simplicial complexes
by: Alexis Arnaudon, Robert L. Peach, Giovanni Petri and Paul Expert
at: https://arxiv.org/pdf/2111.11073.pdf
```

It numerically solves the Kuramoto model on simplicial complexes of order 1 (a graph) and 2 (a graph with faces), with node/edge/face weights and frustration.
A small suite of analysis tool is available to compute the Hodge decomposition of the solution, the simplicial order parameter or the largest Lyapunov exponent.

It also contains the models introduced in
```
A unified framework for Simplicial Kuramoto models
by: Marco Nurisso, Alexis Arnaudon, Maxime Lucas, Robert L. Peach, Paul Expert, Francesco Vaccarino, Giovanni Petri
at: https://arxiv.org/abs/2305.17977
```

and the connectome example in `example/connectome_example`, based on
```
M. Pope, M. Fukushima, R. F. Betzel, and O. Sporns,
Modular origins of high-amplitude cofluctuations in fine-scale functional connectivity dynamics, Proc. Natl. Acad.
Sci. U.S.A. 118, e2109380118 (2021).
```

# Installation

To install, it is on pypi.org, hence just do:
```
pip install simplicial-kuramoto
```

# Usage

The documentation is available here: https://arnaudon.github.io/simplicial-kuramoto/, and the structure of the code is as follow:

- The module `simplicial_complex.py` extends networkx graph to include faces and computed cached values of various graph theoretical operators such as boundary operators, or Hodge Laplacians.
- The module `meausures.py` contains some measurements functions of the dynamics such as order parameters.
- The module `graph_generator.py` contains a few functions to build simplicial complexes.
- The module `integrators.py` solve the Kuramoto model on a given simplicial complex.
- The module `plotting.py` has some plotting functions of the simplicial complex and the Kuramoto solution.
- The module `frustration_scan.py` contains analysis tools to study frustration of simplicial Kuramoto.

In the folder `examples` are present scripts to generate the figures of the first paper as well as run some of the models of the second paper.