First of all, when it comes to the features of the software, it is no problem to do these types of calculations with Maxima. Although I found the syntax at times less intuitive than Mathematica’s, Maxima lets you easily define functions and variables, solves equation systems, calculates derivatives, checks equality of given expressions etc.

But, in comparison to Mathematica, I found the handling at times less comfortable. Maxima offers no direct support for greek letters –

there is a display option, but then you have to type the full name of the greek latter every time you use it, e.g. “alpha”. Editing existing session files is also more cumbersome (I used the front-end wxMaxima, maybe this is easier with other clients). Exporting options are also limited in comparison to Mathematica, especially beause the Latex export only works for single outputs and there is no command to export a whole Maxima session to Latex.

All in all, I think Maxima could be suited for many cases of economic modelling and as a standard for submitting mathematical appendices of articles. But I have to add here that I’m lacking necessary experience in both

Maxima and Mathematica to give a thorough judgement on this.

Elmar Nubbemeyer is just replicating my little example in Maxima. It seems to work well. Elmar will post it soon. It seems that it does not look as intuitive as in Mathematica. (Maxima has no Greek letters, for instance.)

As to your points:

(1) Even if you obtain esoteric output, you still can test whether the formulae you gave in your text are correct or not, just by checking for equality. So the idea would not be to give derivations of your results to the referee, but rather to check your results by testing for equality of the results derived by the program and the results given in your paper in a way the referee can easily replicate. This should work for symbolic calculations.

(2) This is certainly a problem. The question is how relevant this is for cases the referees could be expected to check. The MatLab bug you report seems exceptional. As a rule, and from my own experience, Mathematica calculations are much more reliable than my own. Further, we should not ask more from the programs than we do from the referees at this point in time.

Cheers

Ekkehart

]]>R does not do symbolic computation.

Hopefully Maxima works. I have no doubt it will have the same outcome as the Mathematica code you posted.

I could see two potential areas for problems: (1) complicated symbolic mathematics and (2) numeric computation. For (1), sometimes derivatives or integrals with several natural logs or exponential functions can give some output with esoteric notation that economists usually don’t see (I don’t have examples, and never ran across it doing economic computations, but saw it for other math problems).

For (2), the floating point can differ between programs and computers. I found MatLab 10*.05 == 5 is false because of a floating point issue, but could not replicate the problem in Mathematica, R and Java. If your .nb file contained numerical approximations, one of your steps may be false depending on the computer (32-bit vs. 64-bit) and language (Mathematica v. Maxima).

]]>http://www.economics-ejournal.org/economics/journalarticles/2007-13

You find it under “calculations.pdf.” I am going to prepare a similar output with Maxima (if it turns out to be workable). These examples may serve to illustrate what I have suggested.

Ekkehart

]]>Tom, I checked Maxima. This seems to work well. So maybe this could serve as a starting point for creating a standard.

Christian, it would not be so much debugging any code, because in Maxima (or, what I know better, Mathematica) there is no code, simply a standard way to write down mathematical expressions. If these expressions are typed in, they look very much like the formulae in the paper. Of course the program will usually come up with different but equivalent expressions. So if I start with a Lagrange thing, for instance, the paper will give the derivatives. The accompanying script will give the same Langrange function. From this, the program calculates the derivative. The referee sees that in the print out and can check it in the script if he wishes. In a next line, the author will program a query whether the formula derived by the program is identical to the formula given in the paper, and the response will be “True”. Much of the script will simply count as a proof.

So with these programs you do not need to really check everything, and there is no “programming” involved.

I guess Maxima is ideal for our purposes. I shall try, however and check more closely. The next submission I do will include a Maxima script. How it works with Mathematica can be seen from the attachment I did for a recent revision available here:

Ekkehart

]]>A good overview of some open-source computer application packages can be found here: http://www.springerlink.com/content/3224808lu7871175/

]]>It’s almost as good as mathematica at this stage, and has a huge community behind it.

]]>