Review History


To increase transparency, PeerJ operates a system of 'optional signed reviews and history'. This takes two forms: (1) peer reviewers are encouraged, but not required, to provide their names (if they do so, then their profile page records the articles they have reviewed), and (2) authors are given the option of reproducing their entire peer review history alongside their published article (in which case the complete peer review process is provided, including revisions, rebuttal letters and editor decision letters).

New to public reviews? Learn more about optional signed reviews and how to write a better rebuttal letter.

Summary

  • The initial submission of this article was received on June 22nd, 2016 and was peer-reviewed by 3 reviewers and the Academic Editor.
  • The Academic Editor made their initial decision on July 31st, 2016.
  • The first revision was submitted on October 12th, 2016 and was reviewed by 2 reviewers and the Academic Editor.
  • A further revision was submitted on November 18th, 2016 and was reviewed by the Academic Editor.
  • The article was Accepted by the Academic Editor on November 21st, 2016.

Version 0.3 (accepted)

· · Academic Editor

Accept

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.

Version 0.2

· · Academic Editor

Minor Revisions

In addition to the minor comments of Reviewer 1, please see the comments in the PDF file that I have uploaded.

·

Basic reporting

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.

Experimental design

No Comments

Validity of the findings

No Comments

Comments for the author

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))`.

·

Basic reporting

No comments.

Experimental design

No comments.

Validity of the findings

No comments.

Comments for the author

This is a great paper. Thank you for addressing my concerns.

Version 0.1 (original submission)

· · Academic Editor

Major Revisions

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.

·

Basic reporting

Please, see the review.

Experimental design

Please, see the review.

Validity of the findings

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.

·

Basic reporting

No Comments.

Experimental design

No Comments

Validity of the findings

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.

Comments for the author

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?

·

Basic reporting

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.

Experimental design

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.

Validity of the findings

There are no findings as such, since this is a software description, not an
experimental paper.

Comments for the author

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.