VarProDMD:利用 SciPy 的优化套件解决动态模式分解的变量投影问题

IF 2.4 4区 计算机科学 Q2 COMPUTER SCIENCE, SOFTWARE ENGINEERING
Gerhard Reinerth , David Messmann , Jean Elsner , Ulrich Walter
{"title":"VarProDMD:利用 SciPy 的优化套件解决动态模式分解的变量投影问题","authors":"Gerhard Reinerth ,&nbsp;David Messmann ,&nbsp;Jean Elsner ,&nbsp;Ulrich Walter","doi":"10.1016/j.softx.2024.101896","DOIUrl":null,"url":null,"abstract":"<div><div>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.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"28 ","pages":"Article 101896"},"PeriodicalIF":2.4000,"publicationDate":"2024-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352711024002668/pdfft?md5=9e60f0ecfde1d2b56ee1a2205d3db26d&pid=1-s2.0-S2352711024002668-main.pdf","citationCount":"0","resultStr":"{\"title\":\"VarProDMD: Solving Variable Projection for the Dynamic Mode Decomposition with SciPy’s optimization suite\",\"authors\":\"Gerhard Reinerth ,&nbsp;David Messmann ,&nbsp;Jean Elsner ,&nbsp;Ulrich Walter\",\"doi\":\"10.1016/j.softx.2024.101896\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>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.</div></div>\",\"PeriodicalId\":21905,\"journal\":{\"name\":\"SoftwareX\",\"volume\":\"28 \",\"pages\":\"Article 101896\"},\"PeriodicalIF\":2.4000,\"publicationDate\":\"2024-09-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://www.sciencedirect.com/science/article/pii/S2352711024002668/pdfft?md5=9e60f0ecfde1d2b56ee1a2205d3db26d&pid=1-s2.0-S2352711024002668-main.pdf\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"SoftwareX\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S2352711024002668\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"SoftwareX","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2352711024002668","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

摘要

动态模式分解是一种广泛应用于从等离子物理学到机器人学等各个科学领域的分析工具,它能将高维信号分解为可解释的量。它可以降低动态系统的维度,同时保留复杂的行为。识别出的量可用于高效地进行模拟(内推和外推)。传统的动态模式分解法要求以恒定的速率对数据进行采样。然而,测量会出现延迟或抖动。由于传统动态模式分解法的结构,在特定的连续时间步进行内推和外推法变得非常困难。可变投影法是一种非线性优化方案,可将线性参数与非线性参数分开进行优化,从而放宽了对固定采样率的要求。因此,测量结果可以在任何时间步长到达。可用的 Python 库为变量投影法实现了 Levenberg-Marquardt 优化器的一个变体。优化程序使用复数残差函数,因为测量结果可以包含复数。Python 可用的优化套件需要实数解析函数。我们重新制定了问题,利用可用的优化器在动态模式分解框架内执行变量投影,在大多数情况下,运行时间比 Python 实现更快。测量预选方案可以提高整体计算效率,同时保持信号重建能力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
VarProDMD: Solving Variable Projection for the Dynamic Mode Decomposition with SciPy’s optimization suite
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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
SoftwareX
SoftwareX COMPUTER SCIENCE, SOFTWARE ENGINEERING-
CiteScore
5.50
自引率
2.90%
发文量
184
审稿时长
9 weeks
期刊介绍: SoftwareX aims to acknowledge the impact of software on today''s research practice, and on new scientific discoveries in almost all research domains. SoftwareX also aims to stress the importance of the software developers who are, in part, responsible for this impact. To this end, SoftwareX aims to support publication of research software in such a way that: The software is given a stamp of scientific relevance, and provided with a peer-reviewed recognition of scientific impact; The software developers are given the credits they deserve; The software is citable, allowing traditional metrics of scientific excellence to apply; The academic career paths of software developers are supported rather than hindered; The software is publicly available for inspection, validation, and re-use. Above all, SoftwareX aims to inform researchers about software applications, tools and libraries with a (proven) potential to impact the process of scientific discovery in various domains. The journal is multidisciplinary and accepts submissions from within and across subject domains such as those represented within the broad thematic areas below: Mathematical and Physical Sciences; Environmental Sciences; Medical and Biological Sciences; Humanities, Arts and Social Sciences. Originating from these broad thematic areas, the journal also welcomes submissions of software that works in cross cutting thematic areas, such as citizen science, cybersecurity, digital economy, energy, global resource stewardship, health and wellbeing, etcetera. SoftwareX specifically aims to accept submissions representing domain-independent software that may impact more than one research domain.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信