Math with Mathematica
I learned mathematics a different way because of programs like Mathematica. While an undergrad, after lunch I would sometimes loiter in the otherwise off-limits graduate math library. One afternoon I stumbled on Moses’s ACM article on symbolic simplification followed, a few pages down, by his other article Symbolic integration: the stormy decade. That started a long fascination with symbolic algebra systems and in a few weeks it changed how I studied mathematics.
As a freshman, I surmised that a lot of insight in physics comes from finding the right approximation scheme to the equations that govern a real world problem. Flip through any physics journal and most of what you see is formula manipulation. To improve my “math” skills, I was working through the 3193 problems of a Soviet problem book (during the Cold War, Soviet books translated into English and Spanish were sold below cost around the world). Within a week from reading Moses’s articles, finishing the remaining two-thirds of the Soviet problems seemed futile. I realized that just as calculators had eliminated the need for speed and skill in arithmetic, so would symbolic manipulators eliminate the need for the formula manipulation skills that seemed so important. Understanding things more abstractly felt a better complement to what one day would be automated.
The first test of my new emphasis came with the linear algebra course. As an undergrad, that essentially means matrix manipulation. Together with my friend Yoshi, we decided we would forgo the adopted textbook and instead learn the material from Greub’s Linear Algebra book. This is a more abstract approach to linear algebra, one that better meshes with other areas of mathematics. For example, determinants are defined in terms of multilinear operators:
Our grades suffered, but the plentiful rewards came later. When we were confronted with Green’s functions, even though we had never taken a functional analysis course, it was easy to see them as the inverse of some linear operator. When we had to learn about Dirac deltas, it was easy to pick up Schwartz’ approach. We did not have a copy of any symbolic manipulator, so we still had to acquire some manipulation skills, but we felt freed from the pressure of having to be fast and perfect. The mindless practice was gone. Over the years I went for the more conceptual books hoping that one day the symbolic systems would become ubiquitous.
Having read Alan Kay’s Microelectronics and the Personal Computer Yoshi and I spoke about a device (resembling what is today the iPad) that would have all those algorithms from the journals implemented, read our handwritten formulas, and do all our math manipulations. By our junior year we had found a copy of Reduce in one of the mainframes. We had read enough journal articles in symbolic manipulation to know that existing systems, like Reduce, would come short of our expectations: Rich’s integration algorithm was only partially implemented; there were only simple simplifications for special functions; and nothing on asymptotics, at the heart of many physics calculations.
In 1989 I spent the summer at Los Alamos. One night after grousing about some endless renormalization group calculation I was doing, this other visitor showed me something better than Reduce. He told me a friend of his had written it. Brosl Hasslacher – we would later start IPS together – was showing me version 1.0 of Stephen Wolfram’s Mathematica. I was hooked. By 1993 the Lab had indulged me with a NeXTstation, which ran Mathematica and its notebook interface. I have used Mathematica almost daily since then.
Today Mathematica is 30. It is much more than a symbolic system and I cannot imagine being a researcher without it. Thank you Stephen for this tool and to all those that contributed to it over the decades.