Macsyma

Source: Wikipedia, the free encyclopedia.

Macsyma (

Project MAC
.

In 1982, Macsyma was licensed to Symbolics and became a commercial product. In 1992, Symbolics Macsyma was spun off to Macsyma, Inc., which continued to develop Macsyma until 1999. That version is still available for Microsoft's Windows XP operating system.

The 1982 version of MIT Macsyma remained available to academics and US government agencies, and it is distributed by the US

GPL
in 1999, and remains under active maintenance.

Development

The project was initiated in July, 1968 by Carl Engelman,[2]

The MITRE Corporation.[1] Some code came from earlier work, notably Knut Korsvold's simplifier.[3][4] Later major contributors to the core mathematics engine were:[5]
Yannis Avgoustis (special functions), David Barton (solving algebraic
systems of equations
), Richard Bogen (special functions), Bill Dubuque (
indefinite integration, limits, power series, number theory, special functions, functional equations, pattern matching, sign queries, Gröbner
, TriangSys), Richard Fateman (rational functions, pattern matching, arbitrary precision floating-point), Michael Genesereth (comparison, knowledge database), Jeff Golden (simplifier, language, system), R. W. Gosper (definite summation, special functions, simplification, number theory), Carl Hoffman (general simplifier, macros,
LispM, system, visual equation editor
), Charles Karney (plotting), John Kulp, Ed Lafferty (ODE solution, special functions), Stavros Macrakis (real/imaginary parts, compiler, system), Richard Pavelle (indicial tensor calculus, general relativity package, ordinary and partial differential equations), David A. Spear (Gröbner),[6][7] Barry Trager (algebraic integration,[8] factoring, Gröbner[9]),
definite integration, Fortran and LaTeX
code generation), David Y. Y. Yun (polynomial GCDs), Gail Zacharias (Gröbner)[9][10] and Rich Zippel (power series, polynomial factorization, number theory, combinatorics).

Macsyma was written in Maclisp, and was, in some cases, a key motivator for improving that dialect of Lisp in the areas of numerical computing, efficient compilation and language design. Maclisp itself ran primarily on PDP-6 and PDP-10 computers, but also on the Multics OS and on the Lisp Machine architectures. Macsyma was one of the largest, if not the largest, Lisp programs of the time.

Commercialization

In 1979, in response to a request from Richard Fateman, then a professor at

VAX-11/780 computer using a dialect of Maclisp, Franz Lisp, written by Fateman's group. MIT reluctantly licensed versions of VAX Macsyma from Berkeley to about 50 universities, starting with Caltech, under condition that the licenses would be revoked when negotiations for a proper license were complete. Indeed, this happened when the negotiation with Symbolics (see below) was complete. Symbolics was reluctant to license the VAX product, since VAX constituted competitive hardware to their own Lisp Machines and therefore suppressed the VAX software for five years. UC Berkeley also brought up copies of Macsyma on Motorola 68000-based systems, most notably Sun
workstations. Symbolics suppressed those as well. At the same time Fateman worked to change the (now revoked) temporary license for Macsyma into something more permanent.

Ultimately, the

NIL lisp, incompletely implemented on VAX/VMS, an unpopular system in academia, where Berkeley VAX Unix was common. DOE Macsyma formed the basis for the much-later open source Maxima
system.

In 1981, Moses and Richard Pavelle, an MIT staff member and proponent of applying Macsyma to engineering and science, attempted to form a company to commercialize Macsyma. Pavelle had written many scientific papers using Macsyma. With the papers in hand, Pavelle and Moses approached several venture capital firms that showed interest in funding a Macsyma startup. With potential deals close to finalization, MIT suddenly decided that MIT personnel should not profit directly from MIT developments. In early 1982, Macsyma was licensed by MIT to Arthur D. Little, Inc. (ADL), which became the broker for Macsyma and soon licensed Macsyma to Symbolics in late 1982. Moses was forced out of the picture by ADL and Pavelle became the head of the Macsyma division at Symbolics. It was evident that Symbolics was not so much interested in the code as in keeping Macsyma out of the software catalog of its competitor in the Lisp Machine business, LMI. The business arrangement between Symbolics and Arthur D. Little required a royalty payment to ADL of 15% of Macsyma gross sales. This royalty led to speculation on the desire of MIT and ADL to see MACSYMA prosper. The development of Macsyma continued at Symbolics despite the fact that it was seen as a diversion from the sales of Lisp machines, which Symbolics considered to be their main business despite the fact that Macsyma sales and the leveraged sales of Lisp Machines reached 10% of overall sales at Symbolics within two years. Despite resistance from many in Symbolics, Macsyma was released for DEC VAX computers and Sun workstations using Berkeley's Franz Lisp in the early to mid 80s.

However, problems at Symbolics over the sales of Macsyma on computers other than Symbolics' eventually led to the decline of Macsyma sales. In the first half of 1986, Macsyma revenues were lower than in the first half of 1985, in a growing industry. Wolfram's SMP program and Waterloo Maple were growing at this time, although MACSYMA was easily superior to these other packages in symbolic math.

Pavelle ran the Macsyma division at Symbolics until early 1986. In the second half of 1986

Kent M. Pitman). Petti argued to Symbolics management that Macsyma was a 'strategic business unit
' that should be funded based on its performance and potential, not based on the prospects of the main workstation business. However, Symbolics cut the Macsyma headcount after this period of sharp growth; Symbolics tried to use Macsyma as a tiny cash cow to fund the losses of the workstation business that was 30 times its size.

The greatest product weakness of Macsyma was its numerical analysis. Mastering symbolic math was a herculean task; but numerical capabilities were critical to get a piece of the much larger engineering and lower-end scientific markets. At MIT Macsyma had a link to the

Perforce Software) numerical libraries, but this link was severed when Macsyma moved to Symbolics. Lisp developers at Symbolics generally believed that numerical analysis was an old technology that was not important for Lisp applications, so they declined to invest in it. Double-precision arithmetic in Macsyma (on a PC version) was about six times slower than Fortran. Also Macsyma's matrices were implemented as lists of lists, which cost another factor of perhaps 5–10 in speed for key algorithms. Macsyma did not have many of the basic algorithms of numerical linear algebra, such as LU decomposition
.

In 1987-88, the Macsyma group tried to build a PC Macsyma with

Mathematica
had.

By 1989, it was clear to Petti that Symbolics would implode due to poor product strategy, and that it would take Macsyma with it. (Some product issues: (1) Symbolics' software was designed for MIT-class software developers without enough concessions to others. (2) Symbolics' world-class software was losing share in the market due to dependence on very high-cost hardware. (3) In moving to

word size
to a 40-bit, without justification from the market for the enormous development cost of this change.) Macsyma could not assemble a buy-out team due to lack of cooperation from MIT. After keeping reasonably quiet since 1986 about the product issues, Petti tried in late 1988 to persuade Symbolics to adopt a software-only or board-level strategy; but the fourth president in four years would hear nothing of it. In 1990 Petti left Symbolics for a start-up.

Macsyma, Inc.

Macsyma, Inc., was founded in 1992 by

Mathematica
and Maple. The competitors had development staffs that were 4-8 times as large as that of Macsyma Inc. throughout the 1990s.

In early 1995 the company shipped Macsyma 2.0.5, with many improvements: On Wester's large test of symbolic math, Macsyma 2.0.5 scored 10% better than Maple and 15% better than Mathematica.[12] Although Macsyma 2.0.5 was still very slow at numerics, it had a greatly strengthened portfolio of numerical analysis and linear algebra routines. (In 1996 Macsyma added LAPACK which greatly increased the speed of most numerical linear algebra.) .

The development team, at this time, included Jeff Golden (language, compiler, etc.), Bill Gosper (special functions, summation), Howard Cannon (user interface, optimization), and several consultants. Bill Dubuque worked on integration, equation solving, database, and optimization. Christopher Stacy and David H. Wood added MATLAB's language and matrix functionality. Other developers made major contributions in numerical analysis, graphics, and help systems.

The company could not continue indefinitely to outperform staffs 4-8 times as large and reverse the market momentum. Market share did not increase above 2%, because the competitors were entrenched in all key accounts, converting to a new product is very costly in learning time, and market growth declined. Also, starting in 1992 or 1993, Mathsoft engaged in a strategy of spending $10 million on direct mail at very low prices, which won much of the remaining growth in the symbolic math market, just when Macsyma Inc. was struggling to rebuild its world-class product.

In 1999, Macsyma were acquired by Tenedos LLC, a holding company that previously had purchased Symbolics. The holding company has not re-released or resold Macsyma, but Macsyma continues to be distributed by Symbolics for Microsoft Windows versions up to Windows XP.[13]

Available versions

There is also a

Mac OS X and other systems, including graphical user interfaces
are available. Maxima does not include many of the numerous features added during the period of commercial development between 1982–1999, but is a current, free, open codebase that includes numerous additional features, several alternative front ends, and works with a number of Common Lisp engines. While this has resulted in some incompatibilities between Macsyma and Maxima, programs written in the Macsyma algebraic language can often be run, with only minor changes, in either system.

ITS Macsyma from around 1982 is available, with most files in a directory called MAXSRC.

References

  1. ^
  2. ^ "Carl Engelman Memorial Fund" (PDF). The FINITE STRING Newsletter. American Journal of Computational Linguistics, Volume 9, Numbers 3-4, July–December 1983. Archived from the original (PDF) on 2003-04-28.
  3. ^ Richard J. Fateman, "MACSYMA's General Simplifier: Philosophy and Operation", Macsyma Users' Conference 1979 full text, section 2
  4. .
  5. ^ Spear, David (July 1977). "A constructive approach to commutative ring theory". Proceedings of the 1977 MACSYMA Users' Conference.
  6. .
  7. .
  8. ^ .
  9. ^ Zacharias, Gail (June 1978). "Generalized Gröbner bases in commutative polynomial rings." B.Sc. thesis, M.I.T., Cambridge, MA". {{cite web}}: Missing or empty |url= (help)
  10. .
  11. ^ "A Critique of the Mathematical Abilities of CA Systems". Wester's 1995 review and 1999 review
  12. ^ Macsyma home page, http://www.symbolics-dks.com/Macsyma-1.htm

External links