All reviews of published articles are made public. This includes manuscript files, peer review comments, author rebuttals and revised materials. Note: This was optional for articles submitted before 13 February 2023.
Peer reviewers are encouraged (but not required) to provide their names to the authors when submitting their peer review. If they agree to provide their name, then their personal profile page will reflect a public acknowledgment that they performed a review (even if the article is rejected). If the article is accepted, then reviewers who provided their name will be associated with the article itself.
Thank you for the careful revision. I'm delighted to accept the manuscript for publication. Can you please check whether the author name "AMiT Kumar" has been entered correctly, as the capitalization is unusual.
In addition to the minor comments of Reviewer 1, please see the comments in the PDF file that I have uploaded.
The structure of the paper and the supplement is now improved, compared to the original submission, and the materials are now much easier to read and comprehend.
No Comments
No Comments
The paper
The abstract and the paper itself mention the paper's supplement in several places. I believe it would be beneficial to add a short paragraph, possibly after line 90, that would list the supplement's contents in a manner similar to that of the paper's contents (lines 83-90), with the list submodules, to make it easier for an interested reader to find their way around it.
In line 323, it should say "...meaning that the entries...".
In line 673, it should say either "poorer than that of its commercial competitors" or "poorer than its commercial competitors'" (ending in apostrophe).
In line 813, one "PhD thesis" seems to be superficial.
The supplement
Figure 1 is hard to read. I suggest putting the labels on the outside of the loops.
Figure 2 has the wrong link towards SymPy Gamma's computation of `tan(x)` instead of `integrate(tan(x))`.
No comments.
No comments.
No comments.
This is a great paper. Thank you for addressing my concerns.
I have obtained three reports on the manuscript and have also attached a short PDF note from me with some further comments.
One of the referees suggests the paper is not in the scope of the journal. I can confirm that it is in scope, but please consider this referee's other comments of course.
The other two referees like the paper but have a number of suggestions that need addressing. One referee (the PDF file) has provided a very detailed report that makes many perceptive comments that I believe will help you to improve the manuscript substantially. In particular, this referee suggests some reorganization and expansion that I think will benefit the manuscript. Please use your judgement in deciding how to respond to these suggestions.
I look forward to receiving a revised version of the manuscript that addresses the points in the reports.
Please, see the review.
Please, see the review.
This category doesn't apply as this is a technical report and not a research paper. Further, it doesn't deal with any data nor it has findings of its own.
No Comments.
No Comments
There is a minor problem with the supplementary notebook
The final cell is
>>> circuit_plot(fourier, nqubits=3);
plt.savefig('./images/circuitplot-qft.pdf', format='pdf')
This fails if the user does not have an images folder.
I suggest removing the >>> before each line. It looks strange in a notebook.
Sympy is a superb package and I am happy to see that there is now a paper that describes its current state. Here are a few comments that you may wish to consider before publication.
Line 105
It is generally frowned upon to import all symbols from a Python module in this manner.
I understand why you are doing it in this paper, it makes subsequent sympy commands less verbose.
It might, however, encourage bad practice. It may also lead to a poor user experience for newbies.
For example, say I had the following code
```
from numpy import sin,array
test = array([1,2,3])
sin(test)
```
I decide that I want to use sympy for something and, following your example, do
```
from numpy import sin,array
from sympy import *
test = array([1,2,3])
sin(test)
x, y, z = symbols('x y z')
```
The code will break because sympy has it's own sin that gets imported that doesn't work on numpy arrays. As a newbie, I might not know this.
I tested using Sympy 1.0 and Python 3.
Later in the text, a similar assertion is made by you (line 485) in reference to a different package that may break sympy.
Lines 151-153
Minor comment: srepr is a useful command. As someone who also uses Mathematica, I wonder if there is a sympy version of the TreeForm command which produces a visualisation of the expression tree, or maybe an output format that I could pass to a graph library for visualisation?
Section 2.3 - Assumptions
Is there a way of the user listing all available assumptions?
Section 2.4
Line 216 - This is due in part because the same language, Python, is used both for the internal implementation and the external usage by users.
This reads badly. Perhaps the following might be better?
This is due, in part, to the fact that the same language, Python, is used both for the internal implementation and the external usage by users.
Line 221:
the phrase 'Expression tree' is cited but this is not the first time you've used it. Perhaps cite earlier? Line 129 perhaps?
Page 8: Footnote 5
The line reads
The measure parameter of the simplify function lets specify the Python function used to determine how
should this be..
The measure parameter of the simplify function lets the user specify the Python function used to determine how
Section 4.1
Should mpmath be cited here?
Generally good. A part that confused me is the assertion (footnote 3) that "If
A and B are Symbols created with commutative=False then SymPy will keep A·B
and B·A distinct." Does that mean that BOTH of them must be created this way,
and that A and x (if x is created normally) will commute? Is there any way to
declare commutators? How does one guarantee that other pieces of code, e.g.
Gaussian elimination, respect non-commutativity?
References reasonable, though [8], an excellent reference, makes almost
precisely the opposite point to that for which it is cited - "simplification
is not well-defined". I think the authors are trying to follow [8]'s
definition of simplification.
The referee is asked to comment whether the research is withinthe scope of the
journal, defined as "PeerJ is an Open Access, peer-reviewed, scholarly
journal. It considers articles in the Biological Sciences, Medical Sciences,
and Health Sciences. PeerJ does not publish in the Physical Sciences, the
Mathematical Sciences, the Social Sciences, or the Humanities (except where
articles in those areas have clear applicability to the core areas of
Biological, Medical or Health sciences)."
Hence I fear a software description on the maths/cmputing boundary with no
cited applications is out of scope.
There are no findings as such, since this is a software description, not an
experimental paper.
Nice paper - pity it seems totally out of scope. Why not J. Symbolic
Computation or some such?
All text and materials provided via this peer-review history page are made available under a Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.