{{Short description|Predecessor of computer algebra program Mathematica}} {{About|a specific software package|symbolic computation in general|Computer algebra system}} '''Symbolic Manipulation Program''' ('''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.
==History== 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 system]]s.<ref>"Computer maths: could do better", ''The Economist'' November 4, 1989, p. 103</ref>
SMP was influenced by the earlier computer algebra systems [[Macsyma]] (of which Wolfram was a user) and [[Schoonschip]] (whose code Wolfram studied).<ref>[[Michael Swaine (technical author)|Michael Swaine]], "Is Cyberspace Dead?", ''[[Dr. Dobb's Journal|Dr. Dobb's]]'', [http://www.ddj.com/184406157 July 1, 2005]</ref><ref>{{cite web |last=Wolfram|first=Stephen|author-link=Stephen Wolfram |title=Tini Veltman (1931–2021): From Assembly Language to a Nobel Prize |url=https://writings.stephenwolfram.com/2021/01/tini-veltman-1931-2021-from-assembly-language-to-a-nobel-prize/ |website=Wolfram Writings |date=21 January 2021}}</ref>
SMP follows a rule-based approach, giving it a "consistent, pattern-directed language". Unlike Macsyma and Reduce, it was written in [[C programming language|C]].<ref>K.O. Geddes, S.R. Czapor, G. Labahn, ''Algorithms for Computer Algebra'', 1992, {{isbn|0792392590}}, p. 8-9</ref>
During the 1980s, it was one of the generally available general-purpose computer algebra systems, along with [[Reduce (computer algebra system)|Reduce]], Macsyma, and [[Axiom (computer algebra system)|Scratchpad]],<ref>C. Wooff, D. Hodgkinson, ''muMATH: A microcomputer algebra system'', 1987, {{isbn|0127630708}}, p. 3</ref> and later [[muMATH]] and [[Maple (computer algebra system)|Maple]]. It was often used for teaching college calculus.<ref>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</ref>
The design of SMP's interactive language and its "map" commands influenced the design of the 1984 version of [[Scratchpad (computer algebra system)|Scratchpad]].<ref>Richard D. Jenks, "A Primer: 11 Keys to New Scratchpad", ''EUROSAM 84'', ''Lecture Notes in Computer Science'' '''174''' {{isbn|354013350X}} p. 123-142</ref>
==Reception== 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,<ref>J.H. Davenport, Y. Siret, E. Tournier, ''Computer Algebra: Systems and algorithms for algebraic computation'', 1988, {{isbn|0122042301}}, p. 61, footnote</ref> and makes [[Polynomial greatest common divisor|polynomial greatest common divisor calculations]] problematic.<ref>Joel Moses, "Macsyma: A personal history", ''Journal of Symbolic Computation'' '''47''':123-130 (February 2012) {{doi|10.1016/j.jsc.2010.08.018}}, p. 129</ref> Many other problems in early versions of the system were purportedly fixed in later versions.<ref name="rjf">Richard J. Fateman, "Comments on SMP", ''ACM SIGSAM Bulletin'' '''19''':3:5-7 (August 1985) {{doi|10.1145/1089411.1089412}}</ref>
==References== {{Reflist}}
==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. [http://www.stephenwolfram.com/publications/articles/computing/81-smp/index.html full text] * [[Stephen Wolfram]] with [[Chris A. Cole]], ''SMP: A Symbolic Manipulation Program, Reference Manual'', California Institute of Technology, 1981; Inference Corporation, 1983. [https://content.wolfram.com/sw-publications/2020/07/smp-reference-manual.pdf 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. [http://www.stephenwolfram.com/publications/articles/computing/85-symbolic/index.html 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, <u>Springer-Verlag Lecture Notes in Computer Science, no. 204</u>, {{ISBN|3-540-15984-3}} A discussion, with examples, of the capabilities, tasks, and design philosophy of the pattern-matcher. * [http://files.wolframcdn.com/pub/www.stephenwolfram.com/pdf/smp-manual.pdf SMP's manual "SMP Handbook"] * [http://blog.stephenwolfram.com/2013/06/there-was-a-time-before-mathematica/ Stephen Wolfram's blog post on the history of SMP's creation]
[[Category:Computer algebra systems]]