This repository contains the source and MATLAB/Octave code for a seven‑part tutorial series on using DDE‑BifTool to perform numerical bifurcation analysis of delay‑differential equations (DDEs). Each tutorial is provided as a LaTeX source and a compiled PDF along with the scripts, figures, and helper functions used in the text.
The tutorials cover the following topics (each item links to its PDF):
- I — Numerical simulation of DDEs with
dde23(MATLAB/Octave) andpydelay(Python); examples of equilibria and cycle bifurcations. - II — Equilibria continuation and stability; detection of codim‑1 (fold, Hopf) equilibrium bifurcations.
- III — Codim‑2 equilibrium bifurcations: continuation of fold and Hopf in two parameters; detection of codim‑2 points.
- IV — Periodic orbits and cycle bifurcations: continuation in one parameter; fold, period‑doubling, torus; initialize cycles at Hopf.
- V — Cycle bifurcations in two parameters; continuation of homoclinic orbits to equilibria.
- VI — Normal forms for codim‑2; initialization of homoclinic orbits.
- VII — Nonhyperbolic cycles; Bogdanov–Takens: switching from codim‑2 equilibria; homoclinic initialization.
Each tutorial starts with brief theory and then demonstrates how to apply DDE‑BifTool in practice.
I/ … VII/— One folder per tutorial chapter, each containing:tutorial_*.pdf— The compiled tutorial.tutorial_*.tex— LaTeX source.tutorial_*.m— MATLAB/Octave scripts accompanying the text.images/,tikz/— Figures and TikZ assets used by LaTeX.- Additional helper scripts (e.g.,
neural_deri.m,neural_mfderi.m), and in chapter I some optional Python examples (*.py).
tutorial_database.bib— Shared BibTeX database referenced by the LaTeX sources.LOGO_UHASSELT-CMYK.*— Logo assets used by the LaTeX files.
- MATLAB (or GNU Octave) for running the
.mscripts. - DDE‑BifTool installed and on the MATLAB/Octave path.
- Project page: https://github.com/ddebiftool/ddebiftool
- For chapter I (optional): Python 3 with
pydelayif you want to run the Python examples. - To rebuild the PDFs: A LaTeX distribution (e.g., TeX Live) with common packages (TikZ/PGF, graphics, bibliography tools).
- Read: open any
tutorial_*.pdfin the correspondingI … VIIfolder. - Run code in MATLAB/Octave:
- Ensure DDE‑BifTool is installed and added to your path, for example:
addpath(genpath('path/to/ddebiftool')); % Optionally add any extensions you use
- In MATLAB/Octave, change directory to a tutorial folder (e.g.,
I,II, …) and run the script:run('tutorial_I.m'); - Some tutorials use helper functions provided in the same folder (for example,
neural_deri.m,neural_mfderi.m). Make sure your current folder is the tutorial directory so MATLAB finds them.
- Ensure DDE‑BifTool is installed and added to your path, for example:
- Optional (chapter I): to try
pydelay, install it in your Python environment and run the example.pyfiles inI/.
If you want to recompile the LaTeX sources instead of using the prebuilt PDFs:
cd I # or II, …, VII
pdflatex tutorial_I.tex
bibtex tutorial_I
pdflatex tutorial_I.tex
pdflatex tutorial_I.texMake sure tutorial_database.bib (at the repository root) is accessible; running LaTeX from within each tutorial folder will find it via the relative path used in the sources.
- The examples expect DDE‑BifTool to be on the MATLAB/Octave path. If you use extensions (e.g.,
ddebiftool_extra_psol), add their directories as well. - Scripts are written for clarity to mirror the steps in the text. For performance‑heavy computations, consider adjusting tolerances or step sizes as discussed in the PDFs.
- Some folders include
.figfiles with pre‑saved figures you can open directly in MATLAB.
If you use these materials in academic work, please cite DDE‑BifTool and the tutorial materials. The LaTeX sources include references collected in tutorial_database.bib.
No explicit license is provided in this repository. If you plan to reuse or distribute parts of the materials, please contact the authors or open an issue to clarify permitted use.
Questions or improvements? Feel free to open an issue or submit a pull request.