This article is about a specific software package. For symbolic computation in general, see
Computer Algebra System.
Symbolic Manipulation Program, usually called SMP, was a
computer algebra system designed by
Chris A. Cole and
Stephen Wolfram at
Caltech circa 1979. It was initially developed in the Caltech physics department with contributions from
Geoffrey C. Fox, Jeffrey M. Greif, Eric D. Mjolsness, Larry J. Romans, Timothy Shaw, and Anthony E. Terrano.
SMP was first sold commercially in 1981, by the Computer Mathematics Corporation of
Los Angeles, which later became part of
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.[1]
SMP was influenced by the earlier computer algebra systems
Macsyma (of which Wolfram was a user) and
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.[4]
During the 1980s, it was one of the generally available general-purpose computer algebra systems, along with
Reduce, Macsyma, and
Scratchpad,[5] and later
muMATH and
Maple. 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.[7]
Criticism
SMP has been criticized for various characteristics, notably its use of
floating-point numbers instead of exact rational numbers, which can lead to incorrect results,[8] and makes
polynomial greatest common divisor calculations problematic.[9] Many other problems in early versions of the system were purportedly fixed in later versions.[10]
References
^"Computer maths: could do better", The Economist November 4, 1989, p. 103
^K.O. Geddes, S.R. Czapor, G. Labahn, Algorithms for Computer Algebra, 1992,
ISBN0792392590, p. 8-9
^C. Wooff, D. Hodgkinson, muMATH: A microcomputer algebra system, 1987,
ISBN0127630708, p. 3
^Donald B. Small, John M. Hosack, "Computer Algebra Systems, Tools for Reforming Calculus Instruction", in Toward a Lean and Lively Calculus, MAA Notes6 (1986) p. 143
^Richard D. Jenks, "A Primer: 11 Keys to New Scratchpad", EUROSAM 84, Lecture Notes in Computer Science174ISBN354013350X p. 123-142
^J.H. Davenport, Y. Siret, E. Tournier, Computer Algebra: Systems and algorithms for algebraic computation, 1988,
ISBN0122042301, p. 61, footnote
^Joel Moses, "Macsyma: A personal history", Journal of Symbolic Computation47:123-130 (February 2012)
doi:
10.1016/j.jsc.2010.08.018, p. 129
^Richard J. Fateman, "Comments on SMP", ACM SIGSAM Bulletin19:3:5-7 (August 1985)
doi:
10.1145/1089411.1089412
Additional sources
Chris A. Cole,
Stephen Wolfram, "SMP: A Symbolic Manipulation Program", Proceedings of the fourth ACM symposium on Symbolic and algebraic computation (
SIGSAM), Snowbird, Utah, 1981.
full text
Stephen Wolfram with
Chris A. Cole, SMP: A Symbolic Manipulation Program, Reference Manual, California Institute of Technology, 1981; Inference Corporation, 1983.
full text
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
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,
ISBN3-540-15984-3 A discussion, with examples, of the capabilities, tasks, and design philosophy of the pattern-matcher.