MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Work on Basic Mathematica Stephen!

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130924] Re: Work on Basic Mathematica Stephen!
  • From: "djmpark" <djmpark at comcast.net>
  • Date: Sat, 25 May 2013 05:41:59 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-outx@smc.vnet.net
  • Delivered-to: mathgroup-newsendx@smc.vnet.net
  • References: <kmngb2$3rv$1@smc.vnet.net> <20130519095011.606CD6A14@smc.vnet.net> <28778561.83848.1369203793332.JavaMail.root@m06> <000101ce56f8$aa8600f0$ff9202d0$@comcast.net> <knki33$if1$1@smc.vnet.net> <11024021.22507.1369391283842.JavaMail.root@m06>

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 self-proofing in the document. Also active routines are provided for
the reader to provide additional checks.

That is higher integrity.


David Park
djmpark at comcast.net 
http://home.comcast.net/~djmpark/index.html 







From: Richard Fateman [mailto:fateman at 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.





  • Prev by Date: Re: Work on Basic Mathematica Stephen!
  • Next by Date: Re: Work on Basic Mathematica Stephen!
  • Previous by thread: Re: Work on Basic Mathematica Stephen!
  • Next by thread: Re: Work on Basic Mathematica Stephen!