Wednesday, July 21, 2004

Mathematica is Beautiful Software

Is there any way a person with a reasonable command of the English language can refer to mere software as "beautiful"? I've run into a number of professors and teaching assistants who would talk about "beautiful" equations. But English was a second (or third) language for them and I think they would have used the word "elegant" if it had come to them at the time. However I think that the word is appropriate forMathematica.

When I was a graduate student in the Aerospace Engineering Department at the University of Texas in the summer of 1983, I was working on developing equations of motion for a Kalman filter. The application was an air-to-air missile tracking a target airplane using bearings-only measurements. This essentially involved analytically integrating second-order equations to obtain equivalent first-order equations for 6x6 and 8x8 systems. I did it with a pencil and paper and took over a month to integrate them, correct errors, code them up in Fortran, and check for accuracy by comparing results against numerically integrated equations. Numerical integration is much faster for the programmer to code but analytic ("closed form") integration is much faster for the computer to crunch.

In the late 1980s, when I had gone to work as an engineer at The Aerospace Corporation, I was deriving equations to enhance 3-degree-of-freedom ("3DOF") equations of motion for high-fidelity computer simulations of launch vehicle trajectories. The enhancement was to add terms to the equations that would make them look more like 6DOF equations and, hence, more like the real world. I found Macsyma , an early symbolic computation package developed at MIT and the US Department of Energy. This package was extremely useful in helping me derive my equations quickly and with many fewer human errors creeping into the process, which would only have to be found and fixed later on. In fact, this work led to two papers (here and here). And I couldn't help thinking, maybe even obsessively, about that time and pain I invested that summer at UT working on my Kalman filters. Macsyma would have saved me a lot of time --- pretty much all of it, in fact. Alas, Macsyma was probably not invented then, or at least it wasn't available to me at the time.

The first version of Mathematica was released in 1988 but I did not hear of it until around 1990 when a colleague bought it and put it on his Macintosh computer at work. I was struck as soon as I saw him working with it. Mathematica was and is the most --- yes --- beautiful software I have ever seen. My jobs and schoolwork since then have never really called for the use of Mathematica, although I continued to play with it, especially when I returned to graduate school in the Electrical Engineering Department at the University of New Mexico in Albuquerque. I even took a non-credit short introductory course on Mathematica and how to apply it to engineering problems.

But now I work for the government (ours) and the site license they have negotiated with Wolfram includes free home-use licenses for employees. This is wonderful! Mathematica is quite expensive: approximately $1500 for Windows and Macintosh versions and around $3000 for Linux/Unix versions. So now I have it on my laptop computer and can play for with it any time I want. And it really is play for me. (I sometimes wish I had majored in math in college instead of engineering.) There is also a nice companion website for recreational Mathematica users known as MathWorld and it contains extensive material on all kinds of math topics. In many cases supplementary Mathematica notebooks are available to download free of charge so that the interested hobbyist may investigate the topics further.

No comments:

Post a Comment