Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.



Re: Work on Basic Mathematica Stephen!
Posted:
May 25, 2013 5:35 AM


Yes, I believe if Mathematica notebooks are written using reasonable procedures they will definitely have higher integrity. Hand written or transcribed documents contain significant levels of error and omission. V.I. Arnold wrote: "Every working mathematician knows that if one does not control oneself (best of all by examples), then after some ten pages half of all the signs in formulae will be wrong and twos will find their way from denominators into numerators." I believe that Stephen Wolfram wrote something in the Mathematica Book to the effect that when you do things by hand you can be sloppy and fix things up as you go along but with Mathematica you have to be precise and complete from the start. For those of us not as quick minded as Stephen maybe the sloppiness never does get fixed up. That's one of the advantages of Mathematica, but perhaps not the most important advantage.
In explaining methods or presenting proofs or derivations to a reader or student it IS very useful to be precise and complete from the start. Does the reader know what the objects are that the discussion is about? Does he have any experience with them? There are zillions of cases where Mathematica could be used to generate object examples and present them in various ways before we started reasoning about them. I'm certain that mathematicians usually work with concrete examples and become quite familiar with them before they transcend them for abstract proofs. Suppose you want to teach contraction of concrete tensor arrays. In the books you will seldom see examples beyond a couple of matrices, or maybe rarely a 3rd order tensor in two or three dimensions. They take too much space. What good is an example if it runs over two or three printed pages? With Mathematica one can easily generate and manipulate such examples. One could extract or highlight particular parts of an array to clarify operations. One could do various examples, which one might eschew in a written document because of the space requirement. And of course these kind of things are particularly susceptible to copying and misprint errors.
Does the reader know what the starting point is? Does he know clearly what is given? Does he know the axioms and tools he can use in doing calculations, derivations or proofs? Could the reader bring up the axioms in a separate window to inspect them when needed? Does he have them in an active form so he could apply them to expressions or see them applied by the writer?
The criterion for a reasonable procedure for writing notebooks for the purpose of conveying information to another person is: CALCULATE EVERYTHING. Do not do calculation by word processing. This requires a hierarchical depth in your routines. (How much hierarchical depth? Enough to do the job.) You must be able to work at the various levels of calculation needed in understanding the material. Mathematica does not always, or even often, provide hierarchical depth. The Mathematica Integrate routine is a poor tool if you are teaching integration techniques to calculus students. Nevertheless, Mathematica has the facilities for providing hierarchical depth where needed  so just do it.
Mathematica notebooks are better because material can be presented in understandable steps, with annotation and explanation, and since everything is calculated and the results presented in various forms, there is a great deal of selfproofing in the document. Also active routines are provided for the reader to provide additional checks.
That is higher integrity.
David Park djmpark@comcast.net http://home.comcast.net/~djmpark/index.html
From: Richard Fateman [mailto:fateman@cs.berkeley.edu]
Regarding djmpark's vision.. do we believe that notebooks based on Mathematica will have higher integrity? Possibly lower, at least to the extent that the author is explicitly dependent on Mathematica, bugs and all, rather than clear presentation that can be understood and read by other humans. Would you believe a theorem that was "proved" by Mathematica using methods that you could not understand and might in fact be secret as well as erroneous?
A traditional presentation could implicitly be based on Mathematica or other computer programs, but would have to be refined and endorsed by humans.
Or it could be done entirely by hand. The background might contain an alternative "proof by computer" or "data files / method to reproduce results". Or the background and foreground could be interleaved as literate programming. Evidence to date is that most programmers are unable to write correct code most of the time. Demanding that they write literate code is a step beyond correct.



