pykoop: a Python Library for Koopman Operator Approximation

pykoop is a Python package for learning differential equations in discretized form using the Koopman operator.Differential equations are an essential tool for modelling the physical world.Ordinary differential equations can be used to describe electric circuits, rigid-body dynamics, or chemical reaction rates, while the fundamental laws of electromagnetism, fluid dynamics, and heat transfer can be formulated as partial differential equations.The Koopman operator allows nonlinear differential equations to be rewritten as infinite-dimensional linear differential equations by viewing their time evolution in terms of an infinite number of nonlinear lifting functions.A finite-dimensional approximation of the Koopman operator can be identified from data given a user-selected set of lifting functions.Thanks to its linearity, the approximate Koopman model can be used for analysis, design, and optimal controller or observer synthesis for a wide range of systems using well-established linear tools.pykoop's documentation, along with examples in script and notebook form, can be found at at pykoop.readthedocs.io/en/stable.Its releases are also archived on Zenodo (Dahdah & Forbes, 2024b).

Authors

Institutions

Publication Details

Journal
The Journal of Open Source Software
Published
2025-10-03
DOI
https://doi.org/10.21105/joss.07947
Primary Topic
Model Reduction and Neural Networks
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

pykoop: a Python Library for Koopman Operator Approximation

Steven Dahdah, James Richard Forbes
The Journal of Open Source Software
Model Reduction and Neural Networks
article

pykoop: a Python Library for Koopman Operator Approximation

Steven Dahdah, James Richard Forbes
article en

Abstract

pykoop is a Python package for learning differential equations in discretized form using the Koopman operator.Differential equations are an essential tool for modelling the physical world.Ordinary differential equations can be used to describe electric circuits, rigid-body dynamics, or chemical reaction rates, while the fundamental laws of electromagnetism, fluid dynamics, and heat transfer can be formulated as partial differential equations.The Koopman operator allows nonlinear differential equations to be rewritten as infinite-dimensional linear differential equations by viewing their time evolution in terms of an infinite number of nonlinear lifting functions.A finite-dimensional approximation of the Koopman operator can be identified from data given a user-selected set of lifting functions.Thanks to its linearity, the approximate Koopman model can be used for analysis, design, and optimal controller or observer synthesis for a wide range of systems using well-established linear tools.pykoop's documentation, along with examples in script and notebook form, can be found at at pykoop.readthedocs.io/en/stable.Its releases are also archived on Zenodo (Dahdah & Forbes, 2024b).

The Journal of Open Source SoftwareVol. 10(114)
McGill University (CA)
Canadian Institute for Advanced Research, Mitacs, Institut de Valorisation des Données, Natural Sciences and Engineering Research Council of Canada, Fonds de recherche du Québec – Nature et technologies
Openalex Percentile: Top 78%
Model Reduction and Neural Networks
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.