Andrey Grozin Graduate Texts in Physics Introduction to Mathematica for Physicists 2014 10.1007/978-3-319-00894-3_1 Springer International Publishing Switzerland 2014
1. Computer Algebra Systems
First attempts to use computers for calculations not only with numbers but also with mathematical expressions (e.g., symbolic differentiation) were made in the 1950s. In the 1960s research in this direction became rather intensive. This area was known under different names: symbolic calculations, analytic calculations, and computer algebra. Recently this last name is most widely used. Why algebra and not, say, calculus? The reason is that it is most useful to consider operations usually referred to calculus (such as differentiation) as algebraic operations in appropriate algebraic structures (differential fields).
First universal (i.e., not specialized for some particular application area) computer algebra systems appeared at the end of the 1960s. Not many such systems have been constructed; they are shown in the Table .
Table 1.1
Universal computer algebra systems
System | Year | Implementation | Current | Status |
---|
| | language | name | |
---|
REDUCE | 1968 | Lisp | Free (BSD) |
Macsyma | 1969 | Maxima | Free (GPL) |
Scratchpad | Axiom |
1974 | OpenAxiom | Free (BSD) |
FriCAS |
muMATH | 1979 | Derive | Dead |
Maple | 1983 | C, C++ | Proprietary |
Mathematica | 1988 | Proprietary |
MuPAD | 1992 | MATLAB | Proprietary |
symbolic toolbox |
Theoretical physicist A. Hearn (known to specialists for the DrellHearn sum rule) has written a Lisp program REDUCE to automatize some actions in calculating Feynman diagrams. It quickly grew into a universal system. At first, it was distributed free (it was sufficient to ask for Hearns permission) and became widely used by physicists. Later it became commercial. At the end of 2008 it has become free, with a modified BSD license.
Macsyma was born in the MAC project at MIT (1969), the name means MAC SYmbolic MAnipulator. The project has nothing to do with Macintosh computers, which appeared much later. Its name had several official meanings (Multiple-Access Computer, Man And Computer, Machine Aided Cognition) and some unofficial ones (Man Against Computer, Moses And Company, Maniacs And Clowns, etc.). The work was done on a single PDP-6, later PDP-10 computer (about 1 MByte memory; there were no bytes back then, but 36-bit words). One of the first time-sharing operating systems, ITS, was written for this computer, and many users at once worked on it interactively. Later this computer became one of the first nodes of ARPANET, the ancestor if Internet, and users from other universities could use Macsyma.
The company Symbolics was spun off MIT. It produced Lisp machinescomputers with a hardware support of Lisp, as well as software for these computers, including Macsymathe largest Lisp program at that time. Later production of Lisp machines became unprofitable, because general-purpose workstations (Sun, etc.) became faster and cheaper. Symbolics went bankrupt; Macsyma business was continued by Macsyma Inc., who sold Macsyma for a number of platforms and operating systems. Its market share continued to shrink because of the success of Maple and Mathematica , and finally the company was sold in 1999 to Andrew Topping. The new owner stopped Macsyma development and marketing. Then he died, and the rights to the commercial Macsyma now belong to his inheritors. All efforts spent on improving this branch of Macsyma are irreversibly lost.
Fortunately, this was not the only branch. Macsyma development at MIT was largely funded by DOE, and MIT transferred this codebase to DOE who distributed it. This version was ported to several platforms. All these ports died except one. Professor William Schelter ported DOE Macsyma to Common Lisp, the new Lisp standard, and developed this version until he died in 2001. This version was called Maxima, to avoid trademark problems. In 1998 he obtained permission from DOE to release Maxima under GPL. He also developed GCL (GNU Common Lisp). Currently Maxima is an active free software project and works on many Common Lisp implementations.
Macsyma has played a huge role in the development of computer algebra systems. It was the first system in which modern algorithms for polynomials, integration in elementary functions, etc., were implemented (REDUCE and Macsyma influenced each other strongly and are rather similar to each other). Macsyma was designed as an interactive system. For example, if the form of an answer depends on the sign of a parameter, it will ask the user
Is a positive or negative?
Scratchpad was born in IBM research laboratories (1974). At first it did not differ from other systems (Macsyma, REDUCE) very much and borrowed chunks of code from them. It was radically redesigned in the version Scratchpad II (1985). And this design, perhaps, still remains the most beautiful one from a mathematical point of view. It is a strongly typed system (the only one among universal computer algebra systems). Any object (formula) in it belongs to some domain (e.g., it is a single-variable polynomial with integer coefficients). Each domain belongs to some category (e.g., it is a ring, or a commutative group, or a totally ordered set). New domains can be constructed from existing ones. For example, a matrix of elements belonging to any ring can be constructed. It is sufficient to program a matrix multiplication algorithm once. This algorithm calls the operations of addition and multiplication of the elements. If matrices of rational numbers are being multiplied, then addition and multiplication of rational numbers are called; and if matrices of polynomialsthen addition and multiplication of polynomials.
Scratchpad was never distributed to end users by IBM. At last, IBM decided to stop wasting money for nought (or for basic research) and sold Scratchpad II to the English company NAG (famous for its numerical libraries). It marketed this system under the name Axiom. However, the product did not bring enough profit and was withdrawn in 2001. Axiom development took about 300 man-years of work of researchers having highest qualification. All this could easily disappear without a trace. Fortunately, one of old-time Scratchpad II developers at IBM, Tim Daly, has succeeded in convincing NAG to release Axiom under the modified BSD license. Now it is a free software project and still the most beautiful system from mathematical point of view. But unfortunately, due to incompatible visions of the directions of the future development, two forks appearedOpenAxiom and FriCAS. And it is not clear which one is better.