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

[REVIEW]: mpnum: A matrix product representation library for Python #465

Closed
whedon opened this Issue Nov 17, 2017 · 36 comments

Comments

Projects
None yet
6 participants
@whedon
Collaborator

whedon commented Nov 17, 2017

Submitting author: @dseuss (Daniel Suess)
Repository: https://github.com/dseuss/mpnum
Version: v1.0.0
Editor: @labarba
Reviewer: @SylvainCorlay
Archive: 10.5281/zenodo.1115574

Status

status

Status badge code:

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

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@SylvainCorlay, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: http://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @labarba know.

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: Does the release version given match the GitHub release (v1.0.0)?
  • Authorship: Has the submitting author (@dseuss) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Nov 17, 2017

Collaborator

Hello human, I'm @whedon. I'm here to help you with some common editorial tasks. @SylvainCorlay it looks like you're currently assigned as the reviewer for this paper 🎉.

⭐️ Important ⭐️

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As as reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon commands
Collaborator

whedon commented Nov 17, 2017

Hello human, I'm @whedon. I'm here to help you with some common editorial tasks. @SylvainCorlay it looks like you're currently assigned as the reviewer for this paper 🎉.

⭐️ Important ⭐️

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As as reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon commands
@labarba

This comment has been minimized.

Show comment
Hide comment
@labarba

labarba Dec 10, 2017

Member

Hi @SylvainCorlay — ping! Gentle reminder here about the review for JOSS. You can start on it, and report any issues you encounter right here (or post issues on the repo of the submitted software). Cheers!

Member

labarba commented Dec 10, 2017

Hi @SylvainCorlay — ping! Gentle reminder here about the review for JOSS. You can start on it, and report any issues you encounter right here (or post issues on the repo of the submitted software). Cheers!

@dseuss

This comment has been minimized.

Show comment
Hide comment
@dseuss

dseuss Dec 10, 2017

After the submission, we noted a compatibility bug in the setup.py that prevents v1.0.0 to be installed with Python2. Could we bump the refereed version to v1.0.1.

dseuss commented Dec 10, 2017

After the submission, we noted a compatibility bug in the setup.py that prevents v1.0.0 to be installed with Python2. Could we bump the refereed version to v1.0.1.

@labarba

This comment has been minimized.

Show comment
Hide comment
@labarba

labarba Dec 10, 2017

Member

I don't see a problem with that, @dseuss—thanks for the update.

Member

labarba commented Dec 10, 2017

I don't see a problem with that, @dseuss—thanks for the update.

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Dec 10, 2017

Collaborator

After the submission, we noted a compatibility bug in the setup.py that prevents v1.0.0 to be installed with Python2. Could we bump the refereed version to v1.0.1.

Same here.

Collaborator

SylvainCorlay commented Dec 10, 2017

After the submission, we noted a compatibility bug in the setup.py that prevents v1.0.0 to be installed with Python2. Could we bump the refereed version to v1.0.1.

Same here.

@dseuss

This comment has been minimized.

Show comment
Hide comment
@dseuss

dseuss Dec 11, 2017

Same here.

Does that mean 1.0.1 doesn't work for you either?

dseuss commented Dec 11, 2017

Same here.

Does that mean 1.0.1 doesn't work for you either?

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Dec 11, 2017

Collaborator

Does that mean 1.0.1 doesn't work for you either?

Absolutely! Pardon my brevity.

Collaborator

SylvainCorlay commented Dec 11, 2017

Does that mean 1.0.1 doesn't work for you either?

Absolutely! Pardon my brevity.

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Dec 11, 2017

Collaborator

Note: I checked the box regarding the matched version. I don't know if it matters that the generated issue specifies 1.0.0

Collaborator

SylvainCorlay commented Dec 11, 2017

Note: I checked the box regarding the matched version. I don't know if it matters that the generated issue specifies 1.0.0

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Dec 11, 2017

Collaborator

As I am going through the checklist:

  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

I found that there is a DOI for the reference Enabling High-Dimensional Hierarchical Uncertainty Quantification by ANOVA and Tensor-Train Decomposition.

  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support.

Very minor: on this point, a "contributing" section in the readme could be added (simply linking to the relevant section of the documentation).

  • Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?

For some reason, I had to install hdf5 to be able to run the tests. The test_requires specify h5py, which probably requires some installation of hdf5. It seems that the test requirements won't use wheels.

Collaborator

SylvainCorlay commented Dec 11, 2017

As I am going through the checklist:

  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

I found that there is a DOI for the reference Enabling High-Dimensional Hierarchical Uncertainty Quantification by ANOVA and Tensor-Train Decomposition.

  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support.

Very minor: on this point, a "contributing" section in the readme could be added (simply linking to the relevant section of the documentation).

  • Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?

For some reason, I had to install hdf5 to be able to run the tests. The test_requires specify h5py, which probably requires some installation of hdf5. It seems that the test requirements won't use wheels.

@dseuss

This comment has been minimized.

Show comment
Hide comment
@dseuss

dseuss Dec 11, 2017

@SylvainCorlay Thanks for the feedback.

I found that there is a DOI for the reference Enabling High-Dimensional Hierarchical Uncertainty Quantification by ANOVA and Tensor-Train Decomposition.

Added DOI and updated arXiv references for another paper in a3aaaf5

Very minor: on this point, a "contributing" section in the readme could be added (simply linking to the relevant section of the documentation).

Done.

For some reason, I had to install hdf5 to be able to run the tests. The test_requires specify h5py, which probably requires some installation of hdf5. It seems that the test requirements won't use wheels.

Right, I recalled that we had to manually install test dependencies on travis for that reason. I have added a note to the README as well as to the documentation. (The latter should appear once readthedocs renders the new version)

dseuss commented Dec 11, 2017

@SylvainCorlay Thanks for the feedback.

I found that there is a DOI for the reference Enabling High-Dimensional Hierarchical Uncertainty Quantification by ANOVA and Tensor-Train Decomposition.

Added DOI and updated arXiv references for another paper in a3aaaf5

Very minor: on this point, a "contributing" section in the readme could be added (simply linking to the relevant section of the documentation).

Done.

For some reason, I had to install hdf5 to be able to run the tests. The test_requires specify h5py, which probably requires some installation of hdf5. It seems that the test requirements won't use wheels.

Right, I recalled that we had to manually install test dependencies on travis for that reason. I have added a note to the README as well as to the documentation. (The latter should appear once readthedocs renders the new version)

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Dec 11, 2017

Collaborator

I could install, run the tests, and the example notebook. The whole process was straightforward. The need for the package is properly justified and prior work appropriately cited. Documentation includes both high-level narrative documentation introducing the package and an API reference generated from the doc strings (although a few items are left as todo).

  1. Quick note about the example notebook: I find it extremely useful and detailed. A link to the notebook is provided in the documentation, but the rendered notebook itself could probably be included as-is in the documentation. A good tool to achieve this is to use the nbsphinx sphinx extension.

    Quick note: it is a requirement for most linux distributions (e.g. Debian) for the doc package to be self-contained, so using nbsphinx for including the notebook in sphinx would help with that.

    Minor suggestion: the notebook could include some visuals from the narrative documentation about the graphical notation, and how it translate with a simple code example, before diving into more advanced examples.

  2. About the narrative documentation: the matrix product state representation of a state comes without context. The rest of the paragraph is more self-explanatory but I think that this is domain-specific, and is probably not necessary for introducing MPS and MPO.

Collaborator

SylvainCorlay commented Dec 11, 2017

I could install, run the tests, and the example notebook. The whole process was straightforward. The need for the package is properly justified and prior work appropriately cited. Documentation includes both high-level narrative documentation introducing the package and an API reference generated from the doc strings (although a few items are left as todo).

  1. Quick note about the example notebook: I find it extremely useful and detailed. A link to the notebook is provided in the documentation, but the rendered notebook itself could probably be included as-is in the documentation. A good tool to achieve this is to use the nbsphinx sphinx extension.

    Quick note: it is a requirement for most linux distributions (e.g. Debian) for the doc package to be self-contained, so using nbsphinx for including the notebook in sphinx would help with that.

    Minor suggestion: the notebook could include some visuals from the narrative documentation about the graphical notation, and how it translate with a simple code example, before diving into more advanced examples.

  2. About the narrative documentation: the matrix product state representation of a state comes without context. The rest of the paragraph is more self-explanatory but I think that this is domain-specific, and is probably not necessary for introducing MPS and MPO.

@labarba

This comment has been minimized.

Show comment
Hide comment
@labarba

labarba Dec 12, 2017

Member

@SylvainCorlay : I see that all boxes are checked. Can you confirm that you recommend acceptance now?

Member

labarba commented Dec 12, 2017

@SylvainCorlay : I see that all boxes are checked. Can you confirm that you recommend acceptance now?

@dseuss

This comment has been minimized.

Show comment
Hide comment
@dseuss

dseuss Dec 12, 2017

Thanks a lot @SylvainCorlay for the helpful comments. We already implemented remark 1 on the master branch in the repo. We will address the other remarks shortly after fixing some slight mistakes in some images.

@labarba I would move the v1.0.1 tag to a different commit in the repo once we incorporate all the fixes. Since all the fixes are in the documentation, this does not affect the version on PyPi. Would that be okay with you?

dseuss commented Dec 12, 2017

Thanks a lot @SylvainCorlay for the helpful comments. We already implemented remark 1 on the master branch in the repo. We will address the other remarks shortly after fixing some slight mistakes in some images.

@labarba I would move the v1.0.1 tag to a different commit in the repo once we incorporate all the fixes. Since all the fixes are in the documentation, this does not affect the version on PyPi. Would that be okay with you?

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Dec 12, 2017

Collaborator

@SylvainCorlay : I see that all boxes are checked. Can you confirm that you recommend acceptance now?

Yes, this is excellent. I recommend the paper for acceptance. I will also definitely watch this repository, and future development!

Collaborator

SylvainCorlay commented Dec 12, 2017

@SylvainCorlay : I see that all boxes are checked. Can you confirm that you recommend acceptance now?

Yes, this is excellent. I recommend the paper for acceptance. I will also definitely watch this repository, and future development!

@labarba

This comment has been minimized.

Show comment
Hide comment
@labarba

labarba Dec 12, 2017

Member

Yay! @dseuss —We'll now need you to deposit the final release on an archival host like figshare or Zenodo, and report here the DOI. Then @arfon will press the buttons to publish!

Member

labarba commented Dec 12, 2017

Yay! @dseuss —We'll now need you to deposit the final release on an archival host like figshare or Zenodo, and report here the DOI. Then @arfon will press the buttons to publish!

@dseuss

This comment has been minimized.

Show comment
Hide comment
@dseuss

dseuss Dec 13, 2017

I have uploaded the final version v1.0.2 with the DOI 10.5281/zenodo.1115574. We have updated the refereed version according to the suggestions of the referee:

  • Added some images to the notebook
  • Embedded the notebook on readthedocs
  • Added remarks on how to contribute
  • Moved all development dependencies into the requirements.txt

We also migrated all the figures from Inkscape to LaTeX/TikZ and fixed some notation errors.

dseuss commented Dec 13, 2017

I have uploaded the final version v1.0.2 with the DOI 10.5281/zenodo.1115574. We have updated the refereed version according to the suggestions of the referee:

  • Added some images to the notebook
  • Embedded the notebook on readthedocs
  • Added remarks on how to contribute
  • Moved all development dependencies into the requirements.txt

We also migrated all the figures from Inkscape to LaTeX/TikZ and fixed some notation errors.

@labarba

This comment has been minimized.

Show comment
Hide comment
@labarba

labarba Dec 13, 2017

Member

@whedon set 10.5281/zenodo.1115574 as archive

Member

labarba commented Dec 13, 2017

@whedon set 10.5281/zenodo.1115574 as archive

@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 13, 2017

Collaborator

OK. 10.5281/zenodo.1115574 is the archive.

Collaborator

whedon commented Dec 13, 2017

OK. 10.5281/zenodo.1115574 is the archive.

@labarba

This comment has been minimized.

Show comment
Hide comment
@labarba

labarba Dec 13, 2017

Member

@whedon generate pdf

Member

labarba commented Dec 13, 2017

@whedon generate pdf

@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 13, 2017

Collaborator
Attempting PDF compilation. Reticulating splines etc...
Collaborator

whedon commented Dec 13, 2017

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 13, 2017

Collaborator
https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
Collaborator

whedon commented Dec 13, 2017

https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
@labarba

This comment has been minimized.

Show comment
Hide comment
@labarba

labarba Dec 13, 2017

Member

@arfon On to you to push the accept button!

Member

labarba commented Dec 13, 2017

@arfon On to you to push the accept button!

@dseuss

This comment has been minimized.

Show comment
Hide comment
@dseuss

dseuss Dec 14, 2017

Could we wait for another hour? I just noticed that the bibliography in the PDF is everything but consistent. I'll try to fix this now.

dseuss commented Dec 14, 2017

Could we wait for another hour? I just noticed that the bibliography in the PDF is everything but consistent. I'll try to fix this now.

@dseuss

This comment has been minimized.

Show comment
Hide comment
@dseuss

dseuss Dec 14, 2017

@whedon generate pdf

dseuss commented Dec 14, 2017

@whedon generate pdf

@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 14, 2017

Collaborator
Attempting PDF compilation. Reticulating splines etc...
Collaborator

whedon commented Dec 14, 2017

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 14, 2017

Collaborator
https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
Collaborator

whedon commented Dec 14, 2017

https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
@dseuss

This comment has been minimized.

Show comment
Hide comment
@dseuss

dseuss Dec 14, 2017

OK, now I am happy with it as well. Just cleaned up the names in the references, removed unnecessary fields from the bib file, and fixed citations of the Oseledets paper, which gave ??? in the old version.

Thanks a lot to @labarba and @SylvainCorlay

dseuss commented Dec 14, 2017

OK, now I am happy with it as well. Just cleaned up the names in the references, removed unnecessary fields from the bib file, and fixed citations of the Oseledets paper, which gave ??? in the old version.

Thanks a lot to @labarba and @SylvainCorlay

@milan-hl

This comment has been minimized.

Show comment
Hide comment
@milan-hl

milan-hl commented Dec 15, 2017

@whedon generate pdf

@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 15, 2017

Collaborator
Attempting PDF compilation. Reticulating splines etc...
Collaborator

whedon commented Dec 15, 2017

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 15, 2017

Collaborator
https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
Collaborator

whedon commented Dec 15, 2017

https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
@milan-hl

This comment has been minimized.

Show comment
Hide comment
@milan-hl

milan-hl commented Dec 15, 2017

@whedon generate pdf

@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 15, 2017

Collaborator
Attempting PDF compilation. Reticulating splines etc...
Collaborator

whedon commented Dec 15, 2017

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 15, 2017

Collaborator
https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
Collaborator

whedon commented Dec 15, 2017

https://github.com/openjournals/joss-papers/blob/joss.00465/joss.00465/10.21105.joss.00465.pdf
@milan-hl

This comment has been minimized.

Show comment
Hide comment
@milan-hl

milan-hl Dec 15, 2017

I slightly adapted the spelling of one of the references. I'm looking forward to the paper being published. Thanks everyone!

milan-hl commented Dec 15, 2017

I slightly adapted the spelling of one of the references. I'm looking forward to the paper being published. Thanks everyone!

@arfon arfon added the accepted label Dec 15, 2017

@arfon

This comment has been minimized.

Show comment
Hide comment
@arfon

arfon Dec 15, 2017

Member

@SylvainCorlay - many thanks for your review here and to @labarba for editing this submission

@dseuss - your submission is now accepted into JOSS and your DOI is https://doi.org/10.21105/joss.00465 ⚡️ 🚀 💥

Member

arfon commented Dec 15, 2017

@SylvainCorlay - many thanks for your review here and to @labarba for editing this submission

@dseuss - your submission is now accepted into JOSS and your DOI is https://doi.org/10.21105/joss.00465 ⚡️ 🚀 💥

@arfon arfon closed this Dec 15, 2017

@whedon

This comment has been minimized.

Show comment
Hide comment
@whedon

whedon Dec 15, 2017

Collaborator

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippet:

[![DOI](http://joss.theoj.org/papers/10.21105/joss.00465/status.svg)](https://doi.org/10.21105/joss.00465)

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider volunteering to review for us sometime in the future. You can add your name to the reviewer list here: http://joss.theoj.org/reviewer-signup.html

Collaborator

whedon commented Dec 15, 2017

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippet:

[![DOI](http://joss.theoj.org/papers/10.21105/joss.00465/status.svg)](https://doi.org/10.21105/joss.00465)

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider volunteering to review for us sometime in the future. You can add your name to the reviewer list here: http://joss.theoj.org/reviewer-signup.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment