Work Description

Title: Challenges in Dynamic Mode Decomposition -- figures Open Access Deposited

O
Attribute Value
Methodology
  • The code generates and processes a randomized data-set. To make the result reproducible, we fix the random number seed.
Description
  • These codes were produced as part of the Army Research Office Multi-University Research Initiative ARO MURI W911NF-17-1-0306 "From Data-Driven Operator Theoretic Schemes to Prediction, Inference, and Control of Systems" The code can be run using the runAll.sh shell script (in Linux and OS-X); code should work similarly under windows.
Creator
Depositor
  • shrevzen@umich.edu
Contact information
Discipline
Funding agency
  • Department of Defense (DOD)
Keyword
Date coverage
  • 2021
Resource type
Last modified
  • 11/18/2022
Published
  • 09/01/2021
Language
DOI
  • https://doi.org/10.7302/nzq9-4715
License
  • GPL 3.0
To Cite this Work:
Wu, Z., Brunton, S. L., Revzen, S. (2021). Challenges in Dynamic Mode Decomposition -- figures [Data set], University of Michigan - Deep Blue Data. https://doi.org/10.7302/nzq9-4715

Files (Count: 13; Size: 112 KB)

The code in this folder reproduces the key figures from "Challenges in Dynamic Mode Decomposition" by Z. Wu, S. L. Brunton, and S. Revzen.

# Running the project
Run everything. It takes around 12min to run on intel core i7 vPro 8th Gen.
./runAll.sh

A single eigenvalue density plot.
python3 plot_test.py

Eigenvalue density contour plots (figure 2,4,6).
python3 plot_eigDensity.py

Eigenvalue stats plot (figure 3, 5, 7, 8)
python3 plot_stats.py

Eigenvalue density contour plot in appendix (figure 9-14)
python3 plot_appendix.py

# Dependency
python >=3.6.9
numpy >=1.19.5
scipy >=1.5.4
matplotlib >=3.3.4

Some of the plotting code in plot_util.py goes back to 2008, and was developed
as part of Revzen's thesis. This older code was released under the GPL 3.0
licence.

variableProj.py and optimalDMD.py are from py-optDMD (https://github.com/kunert/py-optDMD) and governed by copyright and license of that work.

Work on this code was primarily funded by ARO MURI W911NF-17-1-0306
"From Data-Driven Operator Theoretic Schemes to Prediction, Inference,
and Control of Systems", and government usage rights are reserved as per that
funding agreement.

All other usage is governed by the GPL 3.0 license as specified below.

This code is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .

# Bugfix for upstream issues

variableProj.py and optimalDMD.py are from py-optDMD (https://github.com/kunert/py-optDMD)
We have addressed the issue https://github.com/kunert/py-optDMD/issues/1#issue-777534962.
We have changed the code syntax to compile in python3 environment.
The result now matches the MATLAB version of optDMD within numerical accuracy for our examples.
The changes made from upper steam repo kunert/py-optDMD are in opt-dmd-diff

Download All Files (To download individual files, select them in the “Files” panel above)

Best for data sets < 3 GB. Downloads all files plus metadata into a zip file.

Files are ready   Download Data from Globus
Best for data sets > 3 GB. Globus is the platform Deep Blue Data uses to make large data sets available.   More about Globus

Remediation of Harmful Language

The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.