+5 votes
asked ago by (400 points)
I am working on a theory project that involves a lot of algebra, mostly to establish the distribution of linear combinations of random variables (which requires integrating, adding, and subtracting dozens of tedious polynomials).

To give you an idea, on one of these problems, I've spent two days of sweat and tears to finally determine that a functions I am interested in is such that [1/6 (3 - \[Rho]^2)] when [0 < \[Rho] < 1/2] (the end result looks like nothing, but the derivation to get there is a nightmare).

With the appropriate query, Mathematica gives me the full closed form for all values of \Rho in less than 2 minutes,

1/2,     \[Rho]<=0
(-7+24 \[Rho])/(48 \[Rho]^2),     \[Rho]>=1
1/6 (3-\[Rho]^2),     0<\[Rho]<1/2
(1-8 \[Rho]+72 \[Rho]^2-32 \[Rho]^3)/(192 \[Rho]^3),      \[Rho]==1/2
(1-8 \[Rho]+48 \[Rho]^2-32 \[Rho]^3+8 \[Rho]^4)/(48 \[Rho]^2),     True

some parts of which tell me that manually deriving the closed form of the function for values of \[Rho] outside [0,1/2] is going to be even more nightmarish.

Needless to say, I would love to rely on Mathematica to save myself the algebra nightmare and focus on more conceptual aspects of the paper.

What are your thoughts regarding such uses of Mathematica in a paper that is primarily theoretical? In particular:

1) Is it acceptable to use Mathematica in that way, or is tedious algebra still considered something theorists have to go through --- when it comes up --- in order to deserve publication?

2) How would relying on Mathematica hinder my chances of publication in top theory journals?

3) Can I still reasonably present a result as a "Theorem" or "Proposition" even if part of the proof relies on results from Mathematica for which I do not provide a complete and explicit analytical argument?

4) In particular, would it be ok to replace part of a proof by the Mathematica query used to obtain a particular step in that proof?

2 Answers

+3 votes
answered ago by (2.3k points)
Very good question, which I wonder about too. My opinion is that it's fine to use Mathematica or symbolic Python (sympy), etc.  for the algebra, but you should have the code as an appendix, on-line rather than with the paper itself. Also, a huge concern  to keep in mind is coding or app mistakes. I find I make them about as often with using the computer for algebra as I do with paper and pencil.  Thus, you need to think hard about your results and whether they make sense. This is what referees do anyway, rather than go through each step.  Also, I would be dissatisfied with using Mathematica for, say, telling me whether an expression was positive, because it would just spit out an answer to me and I wouldn't know how to check it except by doing a lot of numerical examples. It's better when it spits out, for example, a solution to a system of equations.

  Perhaps there is some similarity to the early days of econometrics. Can you really trust a computer to invert a matrix correctly?  Nowadays, we don't even ask authors to tell us what regression package they use and what  the main commands are, which we really should within the paper, though it is nice that we at least are asking for code to be posted.
commented ago by (100 points)
I actually have a derivation where I could not figure out how to reproduce Mathematica's result without possibly a week of doing tedious algebra to run through every single case.  I wasn't sure how to correctly reflect that in my paper so this is great advice.  Thanks!
+3 votes
answered ago by (200 points)
The use of symbolic software packages like Mathematica is now commonplace in academic literature especially since no one is interested in looking at a lot of tedious algebra and computer packages are far more reliable than humans at these types of analyses. The usual requirement for mathematics journals and the AMA is that the author submit the paper containing the result of the computer calculation, which references the package and the command used. In addition one should also attach a copy of that output for the editors so that they can check the calculation by running it independently, perhaps using another symbolic package.

In this case since you are concerned with reducing polynomials then I assume you are using one of the Mathematica commands like Reduce, PolynomialReduce, or CylindricalDecomposition. Editors usually insist on knowing the algorithm used or at least a reference to a paper about the algorithm. In most of these functions calls are made to the GroebnerBasis function. Groebner bases are commonly known in the mathematics literature for polynomial reduction to canonical structures. So in this case I recommend that you include the output with a reference to Mathematica and the actual command employed.

Hope this helps