Search arXivSearch

arXiv · 2402.07463

PyDMD: A Python package for robust dynamic mode decomposition

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 https://github.com/PyDMD/PyDMD .

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Sara M. Ichinaga, Francesco Andreuzzi, Nicola Demo, Marco Tezzele, Karl Lapo, Gianluigi Rozza, Steven L. Brunton, J. Nathan Kutz. 2024-02-12. PyDMD: A Python package for robust dynamic mode decomposition. https://arxiv.org/abs/2402.07463

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Wasserstein mixing of a systematic-scan random rotation sampler

We study the mixing time of a systematic-scan analogue of Kac's walk that was proposed as a fast surrogate for Haar-distributed orthogonal matrices in randomized high-dimensional algorithms and was conjectured to approach Haar measure after only logarithmically many sweeps. We show that this conjectured speed-up does not occur for convergence of the full matrix law to Haar measure in Frobenius Wasserstein distance. At fixed normalized accuracy, the mixing time lies between order $n/\log n$ and order $n$ sweeps; at fixed absolute Frobenius accuracy, the corresponding bounds are between order $n$ and order $n\log n$. More strongly, below the scale $n/\log n$, the normalized Wasserstein distance remains asymptotically at its extremal value. We also show that the output law is singular with respect to Haar measure for fewer than $n/2$ sweeps. Thus the sampler may provide effective application-specific randomization without exhibiting the much faster full-Haar mixing.

stat.CO

Bayesian Calibration with Functional Outputs Using Elastic Partial Matching

Calibrating a simulation model involves estimating its parameters by comparing model outputs with experimental data, so that simulation results faithfully reproduce the experimental observations. When the outputs are functions of time, there are multiple ways to quantify the discrepancy between experimental and simulated curves. A recent approach based on elastic functional data analysis decomposes a functional output into two components: a function temporally aligned to a template, and the corresponding warping function. This decomposition splits the problem into two independent calibration tasks, thereby addressing functional misalignment. However, it assumes that experimental and simulated curves share the same temporal support, an assumption often violated in practice when initial or end times are themselves uncertain or depend on the calibration parameters. In this work, we reinterpret the decomposition step as an approximation to a more general Bayesian calibration problem that incorporates an error term on the time axis. This perspective allows us to naturally extend the framework to a broader family of time warpings with varying initial or end times, using partial elastic alignment. We illustrate the method on a synthetic test case, comparing it with existing Bayesian calibration methods and demonstrating improved surrogate performance and error modeling. We then apply the proposed approach to the calibration of an equation of state (a thermodynamic equation relating the state variables of a material).

stat.CO

Delayed Acceptance Slice Sampling

Slice sampling is a well-established Markov chain Monte Carlo method for approximate sampling of target distributions which are only known up to a normalizing constant. The method is based on choosing a new state on a slice, i.e., a superlevel set of the given unnormalized target density (with respect to a reference measure). However, slice sampling algorithms usually require per step multiple evaluations of the target density, and thus can become computationally expensive. This is particularly the case for Bayesian inference with costly likelihoods. In this paper, we exploit deterministic approximations of the target density, which are relatively cheap to evaluate, and propose delayed acceptance versions of several common (hybrid) slice samplers. We show ergodicity of the resulting slice sampling methods, discuss the superiority of delayed acceptance (ideal) slice sampling over delayed acceptance Metropolis-Hastings algorithms, and illustrate the benefits of our novel approach in terms of improved computational efficiency in numerical experiments.

stat.CO