Range of Use of Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg88810] Range of Use of Mathematica
- From: "David Park" <djmpark at comcast.net>
- Date: Sat, 17 May 2008 05:30:16 -0400 (EDT)
For some years now 'AES' (actually Professor Anthony E. Siegman, McMurty Professor of Engineering Emeritus at Stanford University) and I have engaged in a running dialog on the extent of Mathematica's usefulness in preparing research material for publication. I believe that AES's basic position is that Mathematica is fine for doing computer algebra (traditional CAS operations), numerical calculations and generating starting graphics for publications. But then he advocates using outside programs for perfecting the graphics, doing typesetting and preparing the final publication. He thinks that "..even attempting (to combine these functions in Mathematica) . is inherently a bad idea." I suspect that this is, in fact, the procedure employed by most Mathematica users involved in research and publication. Not being myself extremely prolific in publishable ideas, and in recent years only publishing a few Mathematica papers, which were in notebook form, I'm not in a position to be too critical of AES's position and I do respect his experience and knowledge in these matters. What I have been interested in is using Mathematica to study various textbooks and subjects to attempt to learn some modern mathematics and physics. In doing this I have always wanted to produce notebooks that looked like textbooks or research papers. Not having publication as a primary objective, I have been willing to stay with Mathematica all the way. What I have learned is that with Mathematica I can produce notebooks that look like regular publications. I have to admit that this does require extra effort in the way of writing convenience routines that define and format various objects one may be dealing with. But it does not involve more work that buying additional, often expensive, applications and learning their installation, syntax and operation, and how to export Mathematica results to these programs. If one already has and knows well these additional applications, before coming to Mathematica, then AES's approach is the natural one. For those who come to Mathematica first, I think it would be far easier to work in Mathematica as far as possible. I don't see why one couldn't write an entire paper in Mathematica and then print it as a PDF document. Even if one uses Mathematica strictly for CAS work and numerical calculations, it is still necessary to write definitions and routines for processing the objects one deals with. I do not see why there should be an artificial line between extra routines that calculate and extra routines that format. And, in any case, having nice presentations of objects is often an integral part of calculating with them and understanding the theory. Having this preference for Mathematica notebooks, and looking at many textbooks and papers, I will go one step further, many will say right off the edge! Mathematica notebooks are inherently FAR SUPERIOR to static printed documents. They are so superior that I can't understand why anyone would want to transform to printed documents. A Mathematica notebook is to a printed document as the Parthenon is to its floor plan. Forget that static printed papers are the standard of today. They won't be in the future. I'll give two examples where printed documents fall short. The first is the general matter of presenting mathematical proofs in textbooks. I find proofs difficult and the limitations of the printed page do not make them any easier. Proofs usually have structure, but in books and especially with poor typographic layout, they often look like a run-on paragraph. Proofs often need commentary and sometimes extended examples or subparts. Putting these in the middle of a proof disrupts the structure of the proof and putting them before or after disconnects them. So I take it as something of a challenge to learn how to better present proofs using the active features of Mathematica. I've written a Derivation container that can contain comment and command expressions. The comments can be used to annotate the steps of a proof or derivation. A command gives evaluated results of a Mathematica statement, with a Tooltip of the generating statement. I've also designed Sidebars, which are notebooks embedded within the main notebook that can be launched by a button. These provide methods to clarify proofs and derivations but there may be other and better methods, such as using TabView for various sections of a proof. Every proof may require its own style of presentation. I think there is much that can be done with Mathematica to make the presentation of proofs clearer, more elegant and easier for students and readers than anything possible in printed documents. If we always think in terms of static printed documents we won't even take up this challenge. As a second example, my wife and I are reading 'King of Infinite Space: Donald Coxeter, the Man Who Saved Geometry' by Siobhan Roberts. Excellent book! There, in discussing methods to visualize four dimensional space Coxeter used the idea of slicing, and slicing from 3-dimensional space to 2-dimensional space as practice. So there were pictures of sequences of parallel sections slicing the Icosahedron (vertex first, edge first and face first) and Dodecahedron. But these are very difficult to follow on a static page. I could partially follow them and my wife was rather lost. How much better to see these in a Manipulate statement where one could set the normal to the slicing plane and slowly move through a regular polyhedron. It would be especially nice if we could get the 3D slicing picture in one pane and the 2D outline in a second pane. It sent me to the Demonstrations project to see if this had been done but I couldn't find it, and I suspect it might be somewhat difficult. But I did find some nice animations demonstrating Euclidean solid geometry theorems by Isidor Hafner! Still, I have some reservations about the Demonstrations Project, as popular as it is. If forcing everything onto a static printed page is one restrictive mode or presenting material, then forcing everything into a Manipulate statement is another restrictive mode. Generally the Demonstration projects are lacking in textual discussion, derivations, methods of calculation, and because of that, generally difficult to actually follow and learn from. The lesson to me is that we should not artificially restrict Mathematica but use its full powers to present topics in notebooks that follow a classical style of writing but employ the active capabilities of Mathematica. David Park <mailto:djmpark at comcast.net> djmpark at comcast.net <http://home.comcast.net/~djmpark> http://home.comcast.net/~djmpark