Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PRE REVIEW]: PyKoopman: A Python Package for Data-Driven Approximation of the Koopman Operator #5574

Closed
editorialbot opened this issue Jun 20, 2023 · 49 comments
Assignees
Labels
pre-review Python Track: 7 (CSISM) Computer science, Information Science, and Mathematics

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented Jun 20, 2023

Submitting author: @pswpswpsw (Shaowu Pan)
Repository: https://github.com/dynamicslab/pykoopman
Branch with paper.md (empty if default branch):
Version: v1.0.3
Editor: @olexandr-konovalov
Reviewers: @ulf1, @fandreuz
Managing EiC: Daniel S. Katz

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/d57dcd25ed8a287b4de09502d05890cd"><img src="https://joss.theoj.org/papers/d57dcd25ed8a287b4de09502d05890cd/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/d57dcd25ed8a287b4de09502d05890cd/status.svg)](https://joss.theoj.org/papers/d57dcd25ed8a287b4de09502d05890cd)

Author instructions

Thanks for submitting your paper to JOSS @pswpswpsw. Currently, there isn't a JOSS editor assigned to your paper.

@pswpswpsw if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). You can search the list of people that have already agreed to review and may be suitable for this submission.

Editor instructions

The JOSS submission bot @editorialbot is here to help you find and assign reviewers and start the main review. To find out what @editorialbot can do for you type:

@editorialbot commands
@editorialbot editorialbot added pre-review Track: 7 (CSISM) Computer science, Information Science, and Mathematics labels Jun 20, 2023
@editorialbot
Copy link
Collaborator Author

Hello human, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

Software report:

github.com/AlDanial/cloc v 1.88  T=0.12 s (610.1 files/s, 184501.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          43           1906           3802           5501
Jupyter Notebook                18              0           7734           1653
TeX                              1             52              0           1048
XML                              1              0             19            448
YAML                             5             17             15            123
Ruby                             1             28             12            106
reStructuredText                 2             85             65            102
Markdown                         1             39              0             92
JSON                             1              0              0             51
TOML                             1              2              0             27
DOS Batch                        1              8              1             26
make                             1              4              7              9
-------------------------------------------------------------------------------
SUM:                            76           2141          11655           9186
-------------------------------------------------------------------------------


gitinspector failed to run statistical information for the repository

@editorialbot
Copy link
Collaborator Author

Wordcount for paper.md is 1258

@editorialbot
Copy link
Collaborator Author

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1073/pnas.1517384113 is OK
- 10.5281/zenodo.5576490 is OK
- 10.1137/21M1401243 is OK
- 10.1109/access.2018.2886528 is OK
- 10.1126/science.1165893 is OK
- 10.1103/physrevmaterials.2.083802 is OK
- 10.1111/j.2517-6161.1996.tb02080.x is OK
- 10.5281/zenodo.1173754 is OK
- 10.1364/oe.24.030433 is OK
- 10.1063/1.5066099 is OK
- 10.1063/1.4977057 is OK
- 10.1016/j.ymssp.2018.08.033 is OK
- 10.1126/sciadv.1602614 is OK
- 10.1098/rspa.2016.0446 is OK
- 10.1137/16m1086637 is OK
- 10.1137/18m116798x is OK
- 10.1017/jfm.2017.823 is OK
- 10.1063/1.5018409 is OK
- 10.1016/j.ifacol.2016.10.249 is OK
- 10.1103/physreve.96.023302 is OK
- 10.1098/rspa.2018.0335 is OK
- 10.1016/j.jcp.2019.07.049 is OK
- 10.1103/physreve.101.010203 is OK
- 10.1115/1.4043148 is OK

MISSING DOIs

- 10.1109/tro.2019.2923880 may be a valid DOI for title: Active learning of dynamics for data-driven control using Koopman operators
- 10.1109/tro.2021.3076581 may be a valid DOI for title: Derivative-based Koopman operators for real-time control of robotic systems
- 10.1063/5.0010886 may be a valid DOI for title: On the structure of time-delay embedding in linear models of non-linear dynamical systems
- 10.1016/s1474-6670(17)61035-8 may be a valid DOI for title: Perspectives on system identification
- 10.1007/978-3-662-04323-3_15 may be a valid DOI for title: Nonlinear Dynamic System Identification
- 10.1017/jfm.2013.249 may be a valid DOI for title: Koopman-mode decomposition of the cylinder wake
- 10.1007/bf02532251 may be a valid DOI for title: Fitting autoregressive models for prediction
- 10.1073/pnas.17.5.315 may be a valid DOI for title: Hamiltonian systems and transformation in Hilbert space
- 10.1109/tac.2020.2978039 may be a valid DOI for title: Optimal construction of Koopman eigenfunctions for prediction and control
- 10.1038/ncomms9133 may be a valid DOI for title: Automated adaptive inference of phenomenological dynamical models
- 10.1126/science.1165893 may be a valid DOI for title: Distilling free-form natural laws from experimental data
- 10.1073/pnas.0609476104 may be a valid DOI for title: Automated reverse engineering of nonlinear dynamical systems
- 10.1073/pnas.1620045114 may be a valid DOI for title: Reconstruction of normal forms by learning informed observation geometries from data
- 10.1137/19m1267246 may be a valid DOI for title: Physics-informed probabilistic learning of linear embeddings of nonlinear dynamics with guaranteed stability
- 10.1109/lra.2021.3068117 may be a valid DOI for title: Advantages of bilinear Koopman realizations for the modeling and control of systems with unknown dynamics
- 10.1073/pnas.1118984109 may be a valid DOI for title: Nonlinear Laplacian spectral analysis for time series with intermittency and low-frequency variability
- 10.1016/j.cma.2016.03.025 may be a valid DOI for title: Data-driven operator inference for nonintrusive projection-based model reduction
- 10.1137/130932715 may be a valid DOI for title: A survey of projection-based model reduction methods for parametric dynamical systems
- 10.1126/science.aaw4741 may be a valid DOI for title: Hidden fluid mechanics: Learning velocity and pressure fields from flow visualizations
- 10.1137/19m1274067 may be a valid DOI for title: DeepXDE: A deep learning library for solving differential equations
- 10.1103/physrevlett.120.024102 may be a valid DOI for title: Model-free prediction of large spatiotemporally chaotic systems from data: A reservoir computing approach
- 10.1109/tac.2021.3088802 may be a valid DOI for title: Bilinearization, reachability, and optimal control of control-affine nonlinear systems: A Koopman spectral approach
- 10.1103/physrevfluids.2.124402 may be a valid DOI for title: Study of dynamics in post-transient flows using Koopman mode decomposition
- 10.1063/1.5011399 may be a valid DOI for title: Time-lagged autoencoders: Deep learning of slow collective variables for molecular kinetics
- 10.1371/journal.pone.0150171 may be a valid DOI for title: Koopman invariant subspaces and finite linear representations of nonlinear dynamical systems for control
- 10.1038/s41467-017-00030-8 may be a valid DOI for title: Chaos as an intermittently forced linear system
- 10.1109/lra.2023.3273515 may be a valid DOI for title: Data-Driven Encoding: A New Numerical Method for Computation of the Koopman Operator
- 10.1007/s00332-017-9437-7 may be a valid DOI for title: Data-driven model reduction and transfer operator approximation
- 10.1007/s00332-017-9437-7 may be a valid DOI for title: Data-driven model reduction and transfer operator approximation
- 10.1016/j.sbi.2014.04.002 may be a valid DOI for title: Markov state models of biomolecular conformational dynamics
- 10.1021/acs.jpcb.0c06477.s001 may be a valid DOI for title: Integrated variational approach to conformational dynamics: A robust strategy for identifying eigenfunctions of dynamical operators
- 10.1137/110858616 may be a valid DOI for title: A variational approach to modeling slow processes in stochastic dynamical systems
- 10.1016/j.automatica.2018.03.046 may be a valid DOI for title: Linear predictors for nonlinear dynamical systems: Koopman operator meets model predictive control
- 10.1137/18m1177846 may be a valid DOI for title: Linearly recurrent autoencoder networks for learning dynamics
- 10.1016/j.ifacol.2016.10.250 may be a valid DOI for title: Linear observer synthesis for nonlinear systems using Koopman operator framework
- 10.1007/s00332-012-9130-9 may be a valid DOI for title: Variants of dynamic mode decomposition: boundary condition, Koopman, and Fourier analyses
- 10.1007/s00162-017-0432-2 may be a valid DOI for title: De-biasing the dynamic mode decomposition for applied Koopman spectral analysis of noisy datasets
- 10.1088/2632-2153/abf0f5 may be a valid DOI for title: Data-driven discovery of Koopman eigenfunctions for control
- 10.1017/jfm.2021.271 may be a valid DOI for title: Sparsity-promoting algorithms for the discovery of informative Koopman-invariant subspaces
- 10.1038/s41467-018-07210-0 may be a valid DOI for title: Deep learning for universal linear embeddings of nonlinear dynamics
- 10.3934/jcd.2016003 may be a valid DOI for title: On the numerical approximation of the Perron-Frobenius and Koopman operator
- 10.21105/joss.00530 may be a valid DOI for title: PyDMD: Python dynamic mode decomposition
- 10.1137/17m115414x may be a valid DOI for title: Scalable extended dynamic mode decomposition using random kernel approximation
- 10.1007/s00332-015-9258-5 may be a valid DOI for title: A data–driven approximation of the Koopman operator: Extending dynamic mode decomposition
- 10.1146/annurev-fluid-011212-140652 may be a valid DOI for title: Analysis of fluid flows via spectral properties of the Koopman operator
- 10.1017/s0022112010001217 may be a valid DOI for title: Dynamic mode decomposition of numerical and experimental data
- 10.1137/18m1225409 may be a valid DOI for title: Physics-informed generative adversarial networks for stochastic differential equations
- 10.1109/access.2020.3023625 may be a valid DOI for title: A unified sparse optimization framework to learn parsimonious physics-informed models from data
- 10.1007/s00162-020-00536-w may be a valid DOI for title: Data-driven modeling of the chaotic thermal convection in an annular thermosyphon
- 10.1137/m1124176 may be a valid DOI for title: Variable projection methods for an optimized dynamic mode decomposition
- 10.1137/22m1521407 may be a valid DOI for title: The mpEDMD algorithm for data-driven computations of measure-preserving dynamical systems
- 10.1017/jfm.2022.1052 may be a valid DOI for title: Residual dynamic mode decomposition: robust and verified Koopmanism
- 10.1016/j.automatica.2019.05.016 may be a valid DOI for title: Koopman operator-based model reduction for switched-system control of PDEs
- 10.1137/20m1325678 may be a valid DOI for title: Data-driven model predictive control using interpolated Koopman generators
- 10.1137/16m1062296 may be a valid DOI for title: Generalizing Koopman Theory to allow for inputs and control

INVALID DOIs

- https://doi.org/10.1016/j.jcp.2018.10.045 is INVALID because of 'https://doi.org/' prefix

@danielskatz
Copy link

@pswpswpsw - thanks for your submission. Please remove items in your bib file that aren't actually cited in your paper, as our checker looks through the whole bib file. Please feel free to make changes to your .bib file, then use the command @editorialbot check references to check again. editorialbot commands need to be the first entry in a new comment.

Once you have done this, you could work on any possibly missing DOIs that editorialbot suggests, but note that some may be incorrect.

Once this is done, use the command @editorialbot generate pdf when the references are right to make a new PDF.

@danielskatz
Copy link

I'm also not sure why your paper is not generating, so I'll try the command here.

@danielskatz
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

@danielskatz
Copy link

Note that your paper does not compile. Please follow the example paper and note that you can click on the error above to find out more about it.

There, I see "Problem with affiliations for Shaowu Pan, perhaps the affiliations index need quoting? (Theoj::Error)"

Please use the command @editorialbot generate pdf after making changes to the .md file to make a new PDF. editorialbot commands need to be the first entry in a new comment.

@pswpswpsw
Copy link

pswpswpsw commented Jun 20, 2023 via email

@pswpswpsw
Copy link

pswpswpsw commented Jun 20, 2023 via email

@editorialbot
Copy link
Collaborator Author

@pswpswpsw
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@pswpswpsw
Copy link

@danielskatz thanks Daniel for the tip. Now it passes the PDF test. What to do next?

@danielskatz
Copy link

#5574 (comment)

@pswpswpsw
Copy link

@danielskatz Yes. I have called the bot to generate the PDF. It shows up here

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@pswpswpsw
Copy link

@editorialbot check references

@pswpswpsw
Copy link

@editorialbot commands

@editorialbot
Copy link
Collaborator Author

Hello @pswpswpsw, here are the things you can ask me to do:


# List all available commands
@editorialbot commands

# Get a list of all editors's GitHub handles
@editorialbot list editors

# Check the references of the paper for missing DOIs
@editorialbot check references

# Perform checks on the repository
@editorialbot check repository

# Adds a checklist for the reviewer using this command
@editorialbot generate my checklist

# Set a value for branch
@editorialbot set joss-paper as branch

# Generates the pdf paper
@editorialbot generate pdf

# Generates a LaTeX preprint file
@editorialbot generate preprint

# Get a link to the complete list of reviewers
@editorialbot list reviewers

@editorialbot
Copy link
Collaborator Author

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1137/21M1401243 is OK
- 10.1073/pnas.1517384113 is OK
- 10.1126/sciadv.1602614 is OK

MISSING DOIs

- 10.1017/s0022112010001217 may be a valid DOI for title: Dynamic mode decomposition of numerical and experimental data
- 10.1016/s1474-6670(17)61035-8 may be a valid DOI for title: Perspectives on system identification
- 10.1007/s00332-017-9437-7 may be a valid DOI for title: Data-driven model reduction and transfer operator approximation
- 10.1146/annurev-fluid-011212-140652 may be a valid DOI for title: Analysis of fluid flows via spectral properties of the Koopman operator
- 10.1007/bf02532251 may be a valid DOI for title: Fitting autoregressive models for prediction
- 10.1038/s41467-017-00030-8 may be a valid DOI for title: Chaos as an intermittently forced linear system
- 10.1007/978-3-662-04323-3_15 may be a valid DOI for title: Nonlinear Dynamic System Identification
- 10.1137/18m1225409 may be a valid DOI for title: Physics-informed generative adversarial networks for stochastic differential equations
- 10.1063/1.5011399 may be a valid DOI for title: Time-lagged autoencoders: Deep learning of slow collective variables for molecular kinetics
- 10.1103/physrevlett.120.024102 may be a valid DOI for title: Model-free prediction of large spatiotemporally chaotic systems from data: A reservoir computing approach
- 10.1137/19m1274067 may be a valid DOI for title: DeepXDE: A deep learning library for solving differential equations
- 10.1126/science.aaw4741 may be a valid DOI for title: Hidden fluid mechanics: Learning velocity and pressure fields from flow visualizations
- 10.1137/130932715 may be a valid DOI for title: A survey of projection-based model reduction methods for parametric dynamical systems
- 10.1016/j.cma.2016.03.025 may be a valid DOI for title: Data-driven operator inference for nonintrusive projection-based model reduction
- 10.1073/pnas.1118984109 may be a valid DOI for title: Nonlinear Laplacian spectral analysis for time series with intermittency and low-frequency variability
- 10.1073/pnas.1620045114 may be a valid DOI for title: Reconstruction of normal forms by learning informed observation geometries from data
- 10.1073/pnas.0609476104 may be a valid DOI for title: Automated reverse engineering of nonlinear dynamical systems
- 10.1126/science.1165893 may be a valid DOI for title: Distilling free-form natural laws from experimental data
- 10.1038/ncomms9133 may be a valid DOI for title: Automated adaptive inference of phenomenological dynamical models
- 10.1007/s00332-015-9258-5 may be a valid DOI for title: A data–driven approximation of the Koopman operator: Extending dynamic mode decomposition
- 10.1038/s41467-018-07210-0 may be a valid DOI for title: Deep learning for universal linear embeddings of nonlinear dynamics
- 10.1137/18m1177846 may be a valid DOI for title: Linearly recurrent autoencoder networks for learning dynamics
- 10.1017/jfm.2021.271 may be a valid DOI for title: Sparsity-promoting algorithms for the discovery of informative Koopman-invariant subspaces
- 10.1016/j.ifacol.2016.10.250 may be a valid DOI for title: Linear observer synthesis for nonlinear systems using Koopman operator framework
- 10.1109/tac.2020.2978039 may be a valid DOI for title: Optimal construction of Koopman eigenfunctions for prediction and control
- 10.1088/2632-2153/abf0f5 may be a valid DOI for title: Data-driven discovery of Koopman eigenfunctions for control
- 10.1016/j.automatica.2019.05.016 may be a valid DOI for title: Koopman operator-based model reduction for switched-system control of PDEs
- 10.1137/20m1325678 may be a valid DOI for title: Data-driven model predictive control using interpolated Koopman generators
- 10.1137/17m115414x may be a valid DOI for title: Scalable extended dynamic mode decomposition using random kernel approximation
- 10.1137/19m1267246 may be a valid DOI for title: Physics-informed probabilistic learning of linear embeddings of nonlinear dynamics with guaranteed stability

INVALID DOIs

- https://doi.org/10.1016/j.jcp.2018.10.045 is INVALID because of 'https://doi.org/' prefix

@pswpswpsw
Copy link

I see. I will fill up all the missing DOIs

@pswpswpsw
Copy link

@editorialbot check references

@editorialbot
Copy link
Collaborator Author

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1017/S0022112010001217 is OK
- 10.1137/1.9781611974508 is OK
- 10.1146/annurev-fluid-030121-015835 is OK
- 10.1016/j.arcontrol.2009.12.001 is OK
- 10.1007/978-0-387-40065-5 is OK
- 10.1017/9781108380690 is OK
- 10.1137/21M1401243 is OK
- 10.1063/1.4772195 is OK
- 10.1007/s00332-017-9437-7 is OK
- 10.1146/annurev-fluid-011212-140652 is OK
- 10.1063/1.4993854 is OK
- 10.1007/BF02532251 is OK
- 10.1038/s41467-017-00030-8 is OK
- 10.1007/978-3-662-04323-3_15 is OK
- 10.1017/S0022112009992059 is OK
- 10.1002/9781118535561 is OK
- 10.48550/arXiv.1710.09668 is OK
- 10.1137/18M1225409 is OK
- 10.1063/1.5011399 is OK
- 10.1038/s41467-017-02388-1 is OK
- 10.1098/rspa.2017.0844 is OK
- 10.1103/PhysRevLett.120.024102 is OK
- 10.1137/19M1274067 is OK
- 10.1016/j.jcp.2018.10.045 is OK
- 10.1073/pnas.1906995116 is OK
- 10.1126/science.aaw4741 is OK
- 10.1007/s00466-019-01711-5 is OK
- 10.1137/130932715 is OK
- 10.1016/j.cma.2016.03.025 is OK
- 10.1016/j.physd.2020.132401 is OK
- 10.1073/pnas.1118984109 is OK
- 10.1073/pnas.1620045114 is OK
- 10.1073/pnas.0609476104 is OK
- 10.1126/science.1165893 is OK
- 10.1038/ncomms9133 is OK
- 10.1073/pnas.1517384113 is OK
- 10.1007/s00332-015-9258-5 is OK
- 10.1126/sciadv.1602614 is OK
- 10.3934/jcd.2015005 is OK
- 10.1038/s41467-018-07210-0 is OK
- 10.1137/18M1177846 is OK
- 10.48550/arXiv.1710.04340 is OK
- 10.1017/jfm.2021.271 is OK
- 10.1016/j.ifacol.2016.10.250 is OK
- 10.1109/TAC.2020.2978039 is OK
- 10.1007/978-3-030-35713-9 is OK
- 10.1088/2632-2153/abf0f5 is OK
- 10.1016/j.automatica.2019.05.016 is OK
- 10.1137/20M1325678 is OK
- 10.21105/joss.02104 is OK
- 10.1137/17M115414X is OK
- 10.1016/j.physd.2004.06.015 is OK
- 10.1137/19M1267246 is OK
- 10.1137/15M1013857 is OK
- 10.1088/2632-2153/ac3de0 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@pswpswpsw
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@danielskatz
Copy link

Thanks @pswpswpsw

@danielskatz
Copy link

@olexandr-konovalov - Do you think you would be able to edit this submission?

@danielskatz
Copy link

@editorialbot invite @olexandr-konovalov as editor

@editorialbot
Copy link
Collaborator Author

Invitation to edit this submission sent!

@danielskatz
Copy link

👋 @olexandr-konovalov - ping (re above invitation to edit)

@olexandr-konovalov
Copy link
Member

@editorialbot assign @olexandr-konovalov as editor

@editorialbot
Copy link
Collaborator Author

Assigned! @olexandr-konovalov is now the editor

@olexandr-konovalov
Copy link
Member

@pswpswpsw @danielskatz will be happy to be an editor, thanks - will however not be able to deal with this until the 3rd week of July.

@olexandr-konovalov
Copy link
Member

@pswpswpsw @danielskatz sorry it took a while over the summer - I will try to deal with it now in August.

@pswpswpsw
Copy link

pswpswpsw commented Aug 16, 2023 via email

@danielskatz
Copy link

@olexandr-konovalov - any news? I think the current step is finding reviewers.

@olexandr-konovalov
Copy link
Member

@ulf1 @SichengHe would one or both of you be able to review this submission for JOSS, please?

If not, could you possibly recommend someone whom we may approach regarding this?

@olexandr-konovalov
Copy link
Member

@fandreuz @ndem0 @sichinaga @mtezzele I am contacting you as main developers of PyDMD - would one of you be willing and able to review this submission for JOSS, please? If you haven't reviewed for JOSS before, here we have the Reviewer Guidelines.

@ulf1
Copy link

ulf1 commented Sep 22, 2023

@danielskatz @olexandr-konovalov I have time to review it

@olexandr-konovalov
Copy link
Member

@ulf1 many thanks! I will start the review when the 2nd reviewer will be known.

@fandreuz
Copy link

Hi @olexandr-konovalov, I'm also available to review this submission.

@olexandr-konovalov
Copy link
Member

@editorialbot add @ulf1 as reviewer

@editorialbot
Copy link
Collaborator Author

@ulf1 added to the reviewers list!

@olexandr-konovalov
Copy link
Member

@editorialbot add @fandreuz as reviewer

@editorialbot
Copy link
Collaborator Author

@fandreuz added to the reviewers list!

@olexandr-konovalov
Copy link
Member

@editorialbot start review

@editorialbot
Copy link
Collaborator Author

OK, I've started the review over in #5881.

@olexandr-konovalov
Copy link
Member

Many thanks @ulf1 and @fandreuz! Now the review starts at #5881, so all further conversation will happen there. Please see #5881 for the reviewer instructions etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pre-review Python Track: 7 (CSISM) Computer science, Information Science, and Mathematics
Projects
None yet
Development

No branches or pull requests

6 participants