TY - JOUR
T1 - VarProDMD
T2 - Solving Variable Projection for the Dynamic Mode Decomposition with SciPy's optimization suite
AU - Reinerth, Gerhard
AU - Messmann, David
AU - Elsner, Jean
AU - Walter, Ulrich
N1 - Publisher Copyright:
© 2024
PY - 2024/12
Y1 - 2024/12
N2 - The Dynamic Mode Decomposition is a widely used tool for analysis in various scientific fields ranging from plasma physics to robotics, which decomposes high-dimensional signals into interpretable quantities. It reduces the dimensionality of a dynamic system while preserving the complex behavior. The identified quantities then can be used to perform a simulation (inter- and extrapolation) efficiently. The traditional Dynamic Mode Decomposition requires data to be sampled at a constant rate. Measurements however can experience delays or jitter. Due to the structure of the classic Dynamic Mode Decomposition, inter- and extrapolation at specific continuous timesteps become intractable. The Variable Projection method, a nonlinear optimization scheme that splits linear from nonlinear parameters for optimization, relaxes the fixed sampling rate requirement. Thus, the measurements can arrive at any time step. The available Python library implements a variant of the Levenberg–Marquardt optimizer for the Variable Projection Method. The optimization procedure uses a complex residual function since the measurements can incorporate complex numbers. Python's available optimization suites require real, analytic functions. We reformulate the problem to utilize the available optimizers to perform Variable Projection within the Dynamic Mode Decomposition framework, allowing for faster run times w.r.t. the Python implementation in most cases. A preselection scheme on the measurements can enhance overall computational efficiency while maintaining the signal reconstruction capability.
AB - The Dynamic Mode Decomposition is a widely used tool for analysis in various scientific fields ranging from plasma physics to robotics, which decomposes high-dimensional signals into interpretable quantities. It reduces the dimensionality of a dynamic system while preserving the complex behavior. The identified quantities then can be used to perform a simulation (inter- and extrapolation) efficiently. The traditional Dynamic Mode Decomposition requires data to be sampled at a constant rate. Measurements however can experience delays or jitter. Due to the structure of the classic Dynamic Mode Decomposition, inter- and extrapolation at specific continuous timesteps become intractable. The Variable Projection method, a nonlinear optimization scheme that splits linear from nonlinear parameters for optimization, relaxes the fixed sampling rate requirement. Thus, the measurements can arrive at any time step. The available Python library implements a variant of the Levenberg–Marquardt optimizer for the Variable Projection Method. The optimization procedure uses a complex residual function since the measurements can incorporate complex numbers. Python's available optimization suites require real, analytic functions. We reformulate the problem to utilize the available optimizers to perform Variable Projection within the Dynamic Mode Decomposition framework, allowing for faster run times w.r.t. the Python implementation in most cases. A preselection scheme on the measurements can enhance overall computational efficiency while maintaining the signal reconstruction capability.
KW - Dynamic Mode Decomposition
KW - Scientific computing
KW - Variable Projection
UR - http://www.scopus.com/inward/record.url?scp=85204691198&partnerID=8YFLogxK
U2 - 10.1016/j.softx.2024.101896
DO - 10.1016/j.softx.2024.101896
M3 - Article
AN - SCOPUS:85204691198
SN - 2352-7110
VL - 28
JO - SoftwareX
JF - SoftwareX
M1 - 101896
ER -