Skip to content

Repository files navigation

Overview

PyGhostID is a Python package for identifying generalized saddle-node ghosts in the vicinity of saddle-node bifurcations and their composite ghost structures such as ghost channels and ghost cycles in dynamical systems. PyGhostID's main function is the implementation of GhostID, a trajectory-based algorithm to identify saddle-node ghosts in dynamical systems.

PyGhostID_scheme

a: GhostID algorithm. b: data recorded about identified ghosts. c: Features of PyGhostID.

Quick Start

Call ghostIDas follows:

import pyghostid as gid

# Minimal working example
result = ghostID(model, params, dt, trajectory)

where modelis the Python function describing the system dynamics, parametersare the model parameters to be given as argument to model, dtis the stepsize and trajectoryis a trajectory of the system. It returns ghostSeq, a Python list of identified ghost states (Python dictionary) and, if return_ctrl_figs = True, the figures for the control plots requested by the user.

Documentation

Please refer to our readthedocs page for information about PyGhostID's functions, tutorials and more.

Reproducing figures from the paper

The folder "paper" of this repository contains the code and data to reproduce the results and figures from the study:

Daniel Koch, Akhilesh Nandan (2026). Generalized saddle-node ghosts and their composite structures in dynamical systems. arxiv: 2604.05194.

If you use PyGhostID or its repository in your research, please cite our paper.

Dependencies

To recreate the figures and simulations from the study, you’ll need:

Running Code

  • Main Figures: Run any of the FigureX.ipynb scripts to generate the main figures from the paper.

Supplementary Figures & Videos:

  • Use Supp Figure X.ipynb to reproduce additional analyses and visuals.

Contact

For questions or additional information, please contact Daniel Koch: daniel.koch@umanitoba.ca

About

to follow

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages