# SMP (computer algebra system)

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/SMP_(computer_algebra_system)
> Markdown URL: https://mediated.wiki/source/SMP_(computer_algebra_system).md
> Source: https://en.wikipedia.org/wiki/SMP_(computer_algebra_system)
> Source revision: 1288555444
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Predecessor of computer algebra program Mathematica

This article is about a specific software package. For symbolic computation in general, see [Computer algebra system](/source/Computer_algebra_system).

**Symbolic Manipulation Program** (**SMP**) was a [computer algebra system](/source/Computer_algebra_system) designed by [Chris A. Cole](https://en.wikipedia.org/w/index.php?title=Chris_A._Cole&action=edit&redlink=1) and [Stephen Wolfram](/source/Stephen_Wolfram) at [Caltech](/source/Caltech) circa 1979. It was initially developed in the Caltech physics department with contributions from [Geoffrey C. Fox](/source/Geoffrey_C._Fox), Jeffrey M. Greif, Eric D. Mjolsness, Larry J. Romans, Timothy Shaw, and Anthony E. Terrano.

## History

SMP was first sold commercially in 1981, by the Computer Mathematics Corporation of [Los Angeles](/source/Los_Angeles), which later became part of [Inference Corporation](/source/Inference_Corporation). Inference further developed the program and marketed it commercially from 1983 to 1988, but it was not a commercial success, and Inference became pessimistic about the market for symbolic math programs, and so abandoned SMP to concentrate on [expert systems](/source/Expert_system).[1]

SMP was influenced by the earlier computer algebra systems [Macsyma](/source/Macsyma) (of which Wolfram was a user) and [Schoonschip](/source/Schoonschip) (whose code Wolfram studied).[2][3]

SMP follows a rule-based approach, giving it a "consistent, pattern-directed language". Unlike Macsyma and Reduce, it was written in [C](/source/C_programming_language).[4]

During the 1980s, it was one of the generally available general-purpose computer algebra systems, along with [Reduce](/source/Reduce_(computer_algebra_system)), Macsyma, and [Scratchpad](/source/Axiom_(computer_algebra_system)),[5] and later [muMATH](/source/MuMATH) and [Maple](/source/Maple_(computer_algebra_system)). It was often used for teaching college calculus.[6]

The design of SMP's interactive language and its "map" commands influenced the design of the 1984 version of [Scratchpad](/source/Scratchpad_(computer_algebra_system)).[7]

## Reception

SMP has been criticized for various characteristics, notably its use of [floating-point numbers](/source/Floating-point_numbers) instead of exact rational numbers, which can lead to incorrect results,[8] and makes [polynomial greatest common divisor calculations](/source/Polynomial_greatest_common_divisor) problematic.[9] Many other problems in early versions of the system were purportedly fixed in later versions.[10]

## References

1. **[^](#cite_ref-1)** "Computer maths: could do better", *The Economist* November 4, 1989, p. 103

1. **[^](#cite_ref-2)** [Michael Swaine](/source/Michael_Swaine_(technical_author)), "Is Cyberspace Dead?", *[Dr. Dobb's](/source/Dr._Dobb's_Journal)*, [July 1, 2005](http://www.ddj.com/184406157)

1. **[^](#cite_ref-3)** [Wolfram, Stephen](/source/Stephen_Wolfram) (21 January 2021). ["Tini Veltman (1931–2021): From Assembly Language to a Nobel Prize"](https://writings.stephenwolfram.com/2021/01/tini-veltman-1931-2021-from-assembly-language-to-a-nobel-prize/). *Wolfram Writings*.

1. **[^](#cite_ref-4)** K.O. Geddes, S.R. Czapor, G. Labahn, *Algorithms for Computer Algebra*, 1992, [ISBN](/source/ISBN_(identifier)) [0792392590](https://en.wikipedia.org/wiki/Special:BookSources/0792392590), p. 8-9

1. **[^](#cite_ref-5)** C. Wooff, D. Hodgkinson, *muMATH: A microcomputer algebra system*, 1987, [ISBN](/source/ISBN_(identifier)) [0127630708](https://en.wikipedia.org/wiki/Special:BookSources/0127630708), p. 3

1. **[^](#cite_ref-6)** Donald B. Small, John M. Hosack, "Computer Algebra Systems, Tools for Reforming Calculus Instruction", in *Toward a Lean and Lively Calculus*, *MAA Notes* **6** (1986) p. 143

1. **[^](#cite_ref-7)** Richard D. Jenks, "A Primer: 11 Keys to New Scratchpad", *EUROSAM 84*, *Lecture Notes in Computer Science* **174** [ISBN](/source/ISBN_(identifier)) [354013350X](https://en.wikipedia.org/wiki/Special:BookSources/354013350X) p. 123-142

1. **[^](#cite_ref-8)** J.H. Davenport, Y. Siret, E. Tournier, *Computer Algebra: Systems and algorithms for algebraic computation*, 1988, [ISBN](/source/ISBN_(identifier)) [0122042301](https://en.wikipedia.org/wiki/Special:BookSources/0122042301), p. 61, footnote

1. **[^](#cite_ref-9)** Joel Moses, "Macsyma: A personal history", *Journal of Symbolic Computation* **47**:123-130 (February 2012) [doi](/source/Doi_(identifier)):[10.1016/j.jsc.2010.08.018](https://doi.org/10.1016%2Fj.jsc.2010.08.018), p. 129

1. **[^](#cite_ref-rjf_10-0)** Richard J. Fateman, "Comments on SMP", *ACM SIGSAM Bulletin* **19**:3:5-7 (August 1985) [doi](/source/Doi_(identifier)):[10.1145/1089411.1089412](https://doi.org/10.1145%2F1089411.1089412)

## Additional sources

- [Chris A. Cole](https://en.wikipedia.org/w/index.php?title=Chris_A._Cole&action=edit&redlink=1), [Stephen Wolfram](/source/Stephen_Wolfram), "SMP: A Symbolic Manipulation Program", *Proceedings of the fourth ACM symposium on Symbolic and algebraic computation* ([SIGSAM](/source/SIGSAM)), Snowbird, Utah, 1981. [full text](http://www.stephenwolfram.com/publications/articles/computing/81-smp/index.html)

- [Stephen Wolfram](/source/Stephen_Wolfram) with [Chris A. Cole](https://en.wikipedia.org/w/index.php?title=Chris_A._Cole&action=edit&redlink=1), *SMP: A Symbolic Manipulation Program, Reference Manual*, California Institute of Technology, 1981; Inference Corporation, 1983. [full text](https://content.wolfram.com/sw-publications/2020/07/smp-reference-manual.pdf)

- [Stephen Wolfram](/source/Stephen_Wolfram), "Symbolic Mathematical Computation", *Communications of the ACM,* April 1985 (Volume 28, Issue 4). Despite the general-sounding title the focus is on an introduction to SMP. [Online version of this article](http://www.stephenwolfram.com/publications/articles/computing/85-symbolic/index.html)

- J.M. Greif, "The SMP Pattern-Matcher" in B.F. Caviness (editor), Proceedings of EUROCAL 1985, volume 2, pgs. 303-314, Springer-Verlag Lecture Notes in Computer Science, no. 204, [ISBN](/source/ISBN_(identifier)) [3-540-15984-3](https://en.wikipedia.org/wiki/Special:BookSources/3-540-15984-3) A discussion, with examples, of the capabilities, tasks, and design philosophy of the pattern-matcher.

- [SMP's manual "SMP Handbook"](http://files.wolframcdn.com/pub/www.stephenwolfram.com/pdf/smp-manual.pdf)

- [Stephen Wolfram's blog post on the history of SMP's creation](http://blog.stephenwolfram.com/2013/06/there-was-a-time-before-mathematica/)

---
Adapted from the Wikipedia article [SMP (computer algebra system)](https://en.wikipedia.org/wiki/SMP_(computer_algebra_system)) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/SMP_(computer_algebra_system)?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
