TikhonovFenichelReductions.jl: A systematic approach to geometric singular perturbation theory

TikhonovFenichelReductions.jl: A systematic approach to geometric singular perturbation theory - Published in JOSS (2026)

https://github.com/jo-ap/tikhonovfenichelreductions.jl

Science Score: 87.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 16 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: springer.com, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 9 days ago · JSON representation

Repository

Find and compute Tikhonov-Fenichel Reductions for polynomial ODE systems

Basic Info
  • Host: GitHub
  • Owner: jo-ap
  • License: gpl-3.0
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 2.41 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 8
Created about 2 years ago · Last pushed 11 days ago
Metadata Files
Readme License

README.md

Logo of TikhonovFenichelReductions.jl TikhonovFenichelReductions.jl

DOI

A Julia package for computing Tikhonov-Fenichel Parameter Values (TFPVs) for polynomial ODE systems and their corresponding reductions (see [1-3] for details). The package is described and showcased in [4].

Scope

This package allows modellers working with dynamical systems (autonomous ordinary differential equations) that have a polynomial RHS to perform dimensionality reduction via timescale separation semi-automatically. The crucial difference to other similar approaches is that this yields all possible reductions of a given ODE system.

Polynomial ODE systems arise frequently e.g. in mathematical chemistry or biology, where processes often evolve on different time scales, which renders this framework particularly helpful. In essence, this package may be used to derive simple conceptual models from realistic but high dimensional (i.e. mathematically complex) ones. It can also be used to study the behaviour of a larger system in certain extreme parameter regions.

Outline

Consider an ODE system of the form math \dot{x} = f(x,\pi, \varepsilon), \quad x(0)=x_0, x \in U\subseteq\mathbb{R}^n, \pi \in \Pi \subseteq \mathbb{R}^m, where $f \in \mathbb{R}[x,\pi]$ is polynomial and $\varepsilon \geq 0$ is a small parameter. The results from [1-3] allow us to compute a reduced system for $\varepsilon \to 0$ in the sense of Tikhonov [5] and Fenichel [6] using methods from commutative algebra and algebraic geometry.

TikhonovFenichelReductions.jl implements methods for finding all possible TFPVs. It also includes functions to simplify the computation of the corresponding reduced systems. Note that this approach yields all possible timescale separations of rates instead of components as in Tikhonov's theorem 7.

More details can be found in the documentation. A practical example can be found in the getting started section.

Requirements and installation

This package requires at least Julia 1.9 and relies on Oscar.jl, which means it must be installed in the Windows Subsystem for Linux on Windows. To install it, run ~~~ add TikhonovFenichelReductions ~~~ in Julia package Mode. More details can be found here and in the documentation for Oscar.jl.

Contribution and support

Please open an issue here, if you encounter a bug or want to share suggestions for the package. Questions or support requests can be posted in Discussions. Pull requests are also welcome, preferably after reaching out.

Unit tests can be run with ~~~ julia --project=./test ./test/runtests.jl ~~~ from the main directory. Make sure to install the dependencies first: ~~~ (TikhonovFenichelReductions/test) pkg> instantiate ~~~

References

[1] A. Goeke and S. Walcher, ‘Quasi-Steady State: Searching for and Utilizing Small Parameters’, in Recent Trends in Dynamical Systems, A. Johann, H.-P. Kruse, F. Rupp, and S. Schmitz, Eds., in Springer Proceedings in Mathematics & Statistics, vol. 35. Basel: Springer Basel, 2013, pp. 153–178. doi: 10.1007/978-3-0348-0451-6_8.

[2] A. Goeke and S. Walcher, ‘A constructive approach to quasi-steady state reductions’, J Math Chem, vol. 52, no. 10, pp. 2596–2626, Nov. 2014, doi: 10.1007/s10910-014-0402-5.

[3] A. Goeke, S. Walcher, and E. Zerz, ‘Determining “small parameters” for quasi-steady state’, Journal of Differential Equations, vol. 259, no. 3, pp. 1149–1180, Aug. 2015, doi: 10.1016/j.jde.2015.02.038.

[4] J. Apelt and V. Liebscher, ‘Tikhonov-Fenichel Reductions and Their Application to a Novel Modelling Approach for Mutualism’, Theoretical Population Biology, pp. 16–35, Dec. 2025, doi: 10.1016/j.tpb.2025.08.004u.

[5] A. N. Tikhonov, ‘Systems of differential equations containing small parameters in the derivatives’, Mat. Sb. (N.S.), vol. 73, no. 3, pp. 575--586, 1952, https://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=sm&paperid=5548&option_lang=eng.

[6] N. Fenichel, ‘Geometric singular perturbation theory for ordinary differential equations’, Journal of Differential Equations, vol. 31, no. 1, pp. 53–98, Jan. 1979, doi: 10.1016/0022-0396(79)90152-9

[7] F. Verhulst, ‘Singular perturbation methods for slow–fast dynamics’, Nonlinear Dynamics, vol. 50, pp. 747–753, 2007, doi: 10.1007/s11071-007-9236-z

License

GNU GENERAL PUBLIC LICENSE, Version 3 or later (see LICENSE)

Owner

  • Login: jo-ap
  • Kind: user

JOSS Publication

TikhonovFenichelReductions.jl: A systematic approach to geometric singular perturbation theory
Published
June 03, 2026
Volume 11, Issue 122, Page 9924
Authors
Johannes Apelt ORCID
Institute of Mathematics and Computer Science, University of Greifswald, Germany
Editor
Neea Rusch ORCID
Tags
Tikhonov Fenichel singular perturbation theory time scale separations dynamical systems

GitHub Events

Total
  • Create event: 7
  • Commit comment event: 1
  • Release event: 7
  • Delete event: 1
  • Issues event: 2
  • Issue comment event: 1
  • Push event: 80
Last Year
  • Create event: 1
  • Commit comment event: 1
  • Release event: 3
  • Issues event: 2
  • Issue comment event: 1
  • Push event: 32

Issues and Pull Requests

Last synced: 2 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 1 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
juliahub.com: TikhonovFenichelReductions

Find and compute Tikhonov-Fenichel Reductions for polynomial ODE systems

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1 Last month
Rankings
Dependent repos count: 7.9%
Average: 21.0%
Dependent packages count: 34.1%
Last synced: 2 months ago

Dependencies

.github/workflows/documentation.yml actions
  • actions/checkout v4 composite
  • julia-actions/cache v1 composite
  • julia-actions/setup-julia v2 composite