dmdsp is distributed under the terms of the GNU General Public License 3.0.

Matlab files  —  Matlab functions and problem data for dmdsp.

Readme file

readme.pdf  —  Description of Matlab files and problem data.

Description of m-files

dmdsp.m  —  an ADMM-based sparsity-promoting DMD algorithm;
run_dmdsp.m  —  explains how to run dmdsp;
snapshots_channel.m  —  generates matrix of snapshots for the channel flow example;
plots.m  —  plots figures shown in the paper and on this website.

Problem data

We provide users with problem data that will allow them to reproduce our results (these are stored in the respective .mat files in channel, screech, and cylinder subdirectories). The channel flow example is used to guide users through all steps required for conducting both DMD and DMDSP, including collection of the matrices of snapshots from numerically generated samples. In order to run snapshots_channel.m, several files from A Matlab Differentiation Matrix Suite are provided in subdirectory channel. For the other two examples, the matrices U^* , Psi_1, Sigma, and V are provided (these are minimal requirements for conducting DMD and DMDSP). For the screeching jet example the matrices of snapshots Psi_0 and Psi_1 are simply too large; each snapshot requires 256Mb of storage in double precision format. To handle such large matrices, DMD was implemented using a MapReduce framework so that the matrices Psi_0 and Psi_1 could be stored and processed across several storage discs. For the cylinder bundle example the experimental snapshots were generated by researchers at Electricite de France and we have not acquired permission to make these publicly available.


If you are using dmdsp in your research or teaching, please include explicit mention of this website

and of our paper.

AUTHOR = {M. R. Jovanovi\'c and P. J. Schmid and J. W. Nichols},
TITLE = {Sparsity-Promoting Dynamic Mode Decomposition},
JOURNAL = {Phys. Fluids},
VOLUME = {26},
NUMBER = {2},
PAGES = {024103 (22 pages)},
YEAR = {2014}