Closed whedon closed 2 years ago
@videlec - I wonder if you can make progress on other parts of the review, such as the paper and documentation?
👋 @fredstro & @videlec - another ping on the questions immediately above...
I have addressed all issues except https://github.com/fredstro/hilbertmodgroup/issues/5 for which I don't really know what the best solution is. It is a really complex question about Python packaging and pip build isolation. I don't know if @videlec agrees but for the purpose of the publication in JOSS I think that any of my proposed solutions should be sufficient and the search for an optimal solution if there even is one could be left for later.
I have addressed all issues except fredstro/hilbertmodgroup#5 for which I don't really know what the best solution is. It is a really complex question about Python packaging and pip build isolation. I don't know if @videlec agrees but for the purpose of the publication in JOSS I think that any of my proposed solutions should be sufficient and the search for an optimal solution if there even is one could be left for later.
I do agree : the hilbertmodgroup package does not have to solve the packaging issues that SageMath is facing! Especially in the process of the JOSS review.
thanks @videlec - when do you think you might complete your review?
The associated research paper which was referenced has been accepted by the Journal of Number Theory so I have updated the references. I also updated the referenced version of Sage to 9.5. I will tell whedon to update the paper.
@whedon generate pdf from branch paper_joss
My name is now @editorialbot
@fredstro (not really part of the review) : from your code is it possible to get a presentation of SL(2, O_K) (that is generators and relations)?
@fredstro : You implemented a reduction algorithm but I was not able to spot the actual reduction function from (H^2)^degree -> (H^2)^degree
. I expected to see something like
sage: p = a random point in (H^2)^degree
sage: q = (some matrix in SL2OK) * p
sage: SL2OK.reduce(p) == SL2OK.reduce(q)
True
Such reduce function could be enriched with the matrix getting to the fundamental domain.
(sorry for my very naive questions)
It is trivial to write down a set of generators but it is very hard to find a set of "side-pairing" generators and get out a presentation from the geometry (which is the most conceptual way of doing it over Q). The code can be used to do this numerically but it is not easy as the "bottom" of the fundamental domain is very complicated in general. I am working on another algorithm (which will use parts of this one) to find a reduced set of elliptic fixed-points and associated elements, which will result in a presentation.
For the moment I tried to make the Hilbert modular group classes having the same structure as the subgroups of the modular group and I didn't want to clutter it too much, which is why I introduced the utility class "HilbertPullback" which contains all functionality regarding the reduction. So at the moment it would be: sage: p = a random point in (H^2)^degree sage: q = (some matrix in SL2OK) * p sage: R = HilbertPullback(SL2OK) sage: R.reduce(p) == R.reduce(q) True
I was thinking of having a "reduce" function also in the HilbertModularGroup but then I would get a circular dependency so I am not sure what the best way is to do that.
Using HilbertPullback
is perfectly fine (this reduction is not attached to the group anyway, you did a choice of fundamental domain). Could you had this P1.reduce
early in the ExamplesK1.ipynb
?
Yes, I can move it earlier up.
@editorialbot set paper_joss as branch
Done! branch is now paper_joss
@editorialbot check references
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1109/mcse.2010.118 is OK
- 10.1016/j.jnt.2022.02.011 is OK
- 10.1007/s10711-019-00474-w is OK
- 10.1112/S1461157015000121 is OK
MISSING DOIs
- None
INVALID DOIs
- None
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@whedon generate pdf from branch paper_joss
@fredstro - as you can see above, editorialbot is the new whedon, and once the branch is set (as it is above), you just need to use @editorialbot generate pdf
to make a new pdf
👋 @videlec - can you again update us on what you need to make progress on your review?
@fredstro Concerning "Community guidelines" it would be good to mention in the README 1) how people could contribute to the software? (I guess opening issues and opening merge requests?) 2) Report issues or problems with the software? (I guess opening issues) 3) Seek support?
@danielskatz The above comment together with https://github.com/fredstro/hilbertmodgroup/issues/9 are my last comments for the review. The hilbertmodgroup library is in very good shape.
I have addressed issue #9 and I have also updated the README file with community guidelines (all in "develop")
What is the point of having a develop
and a main
branch (the latter being the default)? The tags contains the relevant pointers to the commit corresponding to specific versions.
The point is to have a develop
branch for development and bugfixes and once the development is verified as "correct" it will be merged into main. I am only using a single "develop" branch since I am the only developer but if more people gets involved I will use git-flow with feature branches.
Even with tags and pointers to specific versions there will be users that just clone the repo and try to instal the latest main branch so it is good to keep that as clean and working as possible in each commit. I am probably treating "main" more as a "release" branch...
If you think this is a wrong workflow and have a better suggestion just let me know.
It is not wrong but it ought to be documented.
Ok
I have added documentation about use of branches. Let me know if it is not clear enough.
Thanks for the recent activity on this, @videlec & @fredstro.
@videlec, can you confirm that the latest changes are sufficient and you are happy for this to be published?
@danielskatz I do confirm that this is in very good shape for publication.
@fredstro - at this point, I'm going to proofread the paper, then come back to you with the next steps.
@editorialbot generate pdf
@editorialbot check references
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1109/mcse.2010.118 is OK
- 10.1016/j.jnt.2022.02.011 is OK
- 10.1007/s10711-019-00474-w is OK
- 10.1112/S1461157015000121 is OK
MISSING DOIs
- None
INVALID DOIs
- None
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@fredstro - I'm suggesting some small changes in https://github.com/fredstro/hilbertmodgroup/pull/10. In addition, I think that perhaps you should formally cite Guass' work in the third paragraph, rather than just mentioning it inline.
Ok. I have merged your suggestions and added a formal reference to (the English translation) of Gauss' work.
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@editorialbot check references
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1109/mcse.2010.118 is OK
- 10.1016/j.jnt.2022.02.011 is OK
- 10.1007/s10711-019-00474-w is OK
- 10.1112/S1461157015000121 is OK
MISSING DOIs
- None
INVALID DOIs
- None
Sorry, the commit containing this was not pushed....
@editorialbot generate pdf
@editorialbot check references
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1109/mcse.2010.118 is OK
- 10.1016/j.jnt.2022.02.011 is OK
- 10.1007/s10711-019-00474-w is OK
- 10.1112/S1461157015000121 is OK
MISSING DOIs
- None
INVALID DOIs
- None
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@fredstro - At this point could you:
I can then move forward with accepting the submission.
I have created at tagged 0.1.0 release and uploaded it to PyPi as well as archived it in Zenodo. In Zenodo I uploaded both the source distribution and a zip file of the complete git repository at this tag from GitHub.
I have checked that the metadata is correct (and I included my ORCID).
The DOI is: 10.5281/zenodo.6422510
Submitting author: !--author-handle-->@fredstro<!--end-author-handle-- (Fredrik Stromberg) Repository: https://github.com/fredstro/hilbertmodgroup Branch with paper.md (empty if default branch): paper_joss Version: 0.1.0 Editor: !--editor-->@danielskatz<!--end-editor-- Reviewers: @tbirkandan, @videlec Archive: 10.5281/zenodo.6422510
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
Status
Status badge code:
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) by leaving comments 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
@tbirkandan & @videlec, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @danielskatz know.
✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨
Review checklist for @tbirkandan
✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @videlec
✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper