PyDMD: A Python package for robust dynamic mode decomposition

Sara M. Ichinaga,Francesco Andreuzzi,Nicola Demo,Marco Tezzele,Karl Lapo,Gianluigi Rozza,Steven L. Brunton,J. Nathan Kutz
2024-02-12
Abstract:The dynamic mode decomposition (DMD) is a simple and powerful data-driven modeling technique that is capable of revealing coherent spatiotemporal patterns from data. The method's linear algebra-based formulation additionally allows for a variety of optimizations and extensions that make the algorithm practical and viable for real-world data analysis. As a result, DMD has grown to become a leading method for dynamical system analysis across multiple scientific disciplines. PyDMD is a Python package that implements DMD and several of its major variants. In this work, we expand the PyDMD package to include a number of cutting-edge DMD methods and tools specifically designed to handle dynamics that are noisy, multiscale, parameterized, prohibitively high-dimensional, or even strongly nonlinear. We provide a complete overview of the features available in PyDMD as of version 1.0, along with a brief overview of the theory behind the DMD algorithm, information for developers, tips regarding practical DMD usage, and introductory coding examples. All code is available at
Computation,Systems and Control,Dynamical Systems,Computational Physics
What problem does this paper attempt to address?