Scratchpad(ID:2728/scr005)

General purpose interactive symbolic maths system 


Richard Jenks, Barry Trager, Stephen M. Watt & Robert S. Sutor, IBM Research, ca 1971.

General-purpose language originally for interactive symbolic math.

It features abstract parametrized datatypes, multiple inheritance and polymorphism.

Intentionally written in LISP to take advantage of the many different algebraic and mathematical systems written in LISP at the time (MATHLAB, CHARIBDYS, SIN etc). Hence the most powerful system at the time because it absorbed them.

Real-time control from JOSS, and workspace from APL


Related languages
APL => Scratchpad   Incorporated some features of
CHARYBDIS => Scratchpad   Incorporated some features of
FAMOUS => Scratchpad   Incorporated some features of
JOSS II => Scratchpad   Incorporated some features of
Korsvold => Scratchpad   Incorporated some features of
MATHLAB 68 => Scratchpad   Influence
REDUCE => Scratchpad   Influence
SIN => Scratchpad   Influence
SML => Scratchpad   Incorporated some features of
Scratchpad => REDUCE 2   Incorporated some features of
Scratchpad => SCRATCHPAD/1   Evolution of

Samples:
References:
  • Blair, F.W., Griesmer, J.H., and Jenks, R.D., "An Interactive Facility for Symbolic Mathematics" pp394-419 view details
          in Proceedings of the International Computing Symposium, Bonn, Germany, 1970, view details
  • Smith, Lyle B. "A Survey of Interactive Graphical Systems for Mathematics" view details
          in [ACM] ACM Computing Surveys 2(4) Dec1970 view details
  • Griesmer, J. H.; Jenks, R. D. "SCRATCHPAD/1: An interactive facility for symbolic mathematics" view details Abstract: The SCRATCHPAD/1 system is designed to provide an interactive symbolic computational facility for the mathematician user. The system features a user language designed to capture the style and succinctness of mathematical notation, together with a facility for conveniently introducing new notations into the language. A comprehensive system library incorporates symbolic capabilities provided by such systems as SIN, MATHLAB, and REDUCE. Extract: Introduction
    Introduction
    The major goal of the SCRATCHPAD project has been the design and implementation of a symbolic mathematics facility which provides a mathematician user with a powerful algebraic capability, and which at the same time is as convenient to use as his pencil and paper. To achieve this goal, principal effort has been expended in four areas:
    (i) The implementation of an experimental LISP system for both interactive and batch use permitting simultaneous access to a large number of LISP-based algebraic facilities;
    (ii) the building of a library of symbolic facilities taking maximum advantage of developments in symbolic computations originating elsewhere;
    (iii) the design and implementation of an extensible user language enabling a user to state his problem using notations approaching that of conventional mathematics;
    (iv) the development of a flexible evaluator giving the user maximum control over the substitution and simplification mechanisms of the system.

    SCRATCHPAD has been implemented in the LISP programming language using an experimental System/ 360 LISP system. The major features of this LISP system that enhance its capability for symbolic and algebraic computations are provisions for unlimited precision integer arithmetic and for accessing a sizable number of LISP compiled and assembled programs.

    This latter capability has enabled significant portions of the following systems to be incorporated into the library so as to be simultaneously available to the SCRATCHPAD user:

    MATHLAB - Carl Engelman, MITRE Corporation
    REDUCE - Anthony Hearn, Stanford University and the University of Utah
    On-line Simplification System  - Knut Korsvold, Stanford University and the Norwegian Defence Research Establishment
    Symbolic Mathematical Laboratory - William Martin, MIT
    Symbolic INtegration (SIN) - Joel Moses, MIT.

    An extensible language approach was adopted in the design of the SCRATCHPAD user language. The initial language presented to each user is called the "base language" and contains a set of basic syntactic constructs described by notations resembling those in conventional mathematics. These basic constructs may then be extended by an individual user in order that he may tailor the system to his particular needs.
    The objectives in the design and implementation of the SCRATCHPAD evaluator were to achieve efficiency comparable to that of REDUCE2 yet to provide the generality and understandability of the FAMOUS system. The evaluator design is built upon the concept of "replacement rules" and provides a basis for the manipulation of not only algebraic expressions but also inequalities and logical expressions.

    Extract: Sources of scratchpad
    System Organization And Capabilities
    A user session with SCRATCHPAD consists of the
    sequential processing of user commands by the
    SCRATCHPAD supervisor. During such processing,
    four major component parts of the system are utilized:
    creates 2250 display commands, in the formof vector
    strokes and branches to character subroutines, to
    produce a two-dimensional display of mathematical
    expressions. The revision of the Picture Compiler
    for use in SCRATCHPAD was effected with the consuiting
    help of Professor Martin and yielded an improved
    facility for breaking multiline expressions,
    an input translator to convert input strings into
    a form suitable for interpretation;
    an output translator to convert expressions in an
    internal form to a two-dimensional format
    for output to the user;
    a library accessible by the evaluator containing
    the bulk of the special purpose algebraic
    manipulation functions; and,
    an evaluator to carry out the appropriate action
    indicated by the command.
          in [ACM] Proceedings of the Second Symposium on Symbolic and Algebraic Manipulation, March 23-25, 1971 Los Angeles (SYMSAM 71) view details
  • Barton, D and J P Fitch "Applications of algebraic manipulation programs in physics" Rep. Prog. Phys. 35 235-314 1972 view details
          in [ACM] Proceedings of the Second Symposium on Symbolic and Algebraic Manipulation, March 23-25, 1971 Los Angeles (SYMSAM 71) view details
  • Barton, D and Fitch, JP "A review of algebraic manipulative programs and their application" view details Abstract: This paper describes the applications area of computer programs that carry out formal algebraic
    manipulation. The 6rst part of the paper is tutorial and several typical problems are introduced
    which can be solved using algebraic manipulative systems. Sample programs for the solution of these
    problems using several algebra systems are then presented. Next, two more difficult examples are
    used to introduce the reader to the true capabilities of an algebra program and these are proposed as
    a means of comparison between rival algebra systems. A brief review of the technical problems of
    algebraic manipulation is given in the final section.
          in The Computer Journal 15(4) 1972 view details
  • Griesmer, J. H. and R. D. Jenks (1972). "SCRATCHPAD: A capsule view." view details Abstract: SCRATCHPAD is an interactive system for algebraic manipulation available under the CP/CMS time-sharing system at Yorktown Heights. It features an extensible declarative language for the interactive formulation of symbolic computations. The system is a large and complex body of LISP programs incorporating significant portions of other symbolic systems. Here we present a capsule view of SCRATCHPAD, its language and its capabilities. This is followed by an example which illustrates its use in an application involving the solution of an integral equation.
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details
  • Griesmer, J.H., and Jenks, R. D., "The SCRATCHPAD System", IBM Research Report RC 3925, July 1972 view details Abstract: SCRATCHPAD is an experimental interactive for symbolic computation in use at the IBM Thomas son Research Center. SCRATCHPAD has facilities manipulation of multi-indexed variables and functions, and infinite sums, products, and sequences, and polynomials of arrays. Among the specific capabilities offered system are the following: Multiple-precision integer arithmetic Rational number arithmetic Polynomial and rational function manipulation Differentiation Symbolic integration Manipulation of formal power series Symbolic solution of systems of polynomial equations Two-dimensional output of mathematical expressions
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details
  • Wells, Mark B. "A review of two-dimensional programming languages" pp1-10 view details Extract: Scratchpad
    The Scratchpad language actually is a human translated
    two-dimensional language as its specification
    includes detailed rules for performing the linearization
    of the two-dimensional forms for the expressions
    the language can manipulate.
          in Proceedings of the SIGPLAN symposium on Two-dimensional man-machine communication 1972 , Los Alamos, New Mexico, United States view details
  • Sammet, Jean E. "Roster of Programming Languages for 1973" p147 view details
          in ACM Computing Reviews 15(04) April 1974 view details
  • Jenks, R. D. "The SCRATCHPAD language" view details Abstract: SCRATCHPAD is an interactive system for symbolic mathematical computation. Its user language, originally intended as a special-purpose non-procedural language, was designed to capture the style and succinctness of common mathematical notations, and to serve as a useful, effective tool for on-line problem solving. This paper describes extensions to the language which enable it to serve also as a high-level programming language, both for the formal description of mathematical algorithms and their efficient implementation.
          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details
  • "Scratchpad User's Manual", RA 70, IBM (June 1975). view details
          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details
  • Griesmer , James H. and Jenks, Richard D. "The SCRATCHPAD system" p266-267 view details
          in Proceedings of the 1975 ACM annual conference view details
  • Engelman, C. "Algebraic Manipulation Languages" view details Extract: FORMAC
    The best known, purely symbolic systems are, of course, Formac and its current version PL/IFORMAC (Petrick, 1971; pp. 105-114). Formac was the first widely available general-purpose algebraic manipulation system and served for a period to define the field. Certainly, there was a time when one could have safely made the statement that the majority of all mechanical symbolic mathematical computations had been done within Formac. The practical success of these systems, in spite of their rigidity with respect to user modifications and their lack of any seminumerical facilities for rational function computations, is probably due to the overall intelligence of the facilities that were provided. Above all, they were certainly sufficient to support the dominant application area of truncated power series expansion. Current support is minimal. Extract: Symbolic systems
    SYMBOLIC SYSTEMS. We should mention first a sequence of three early programs for the simplification of general symbolic mathematical expressions represented as prefix-notation tree structures. The first, at M.I.T., was due to Hart, and the other two were due to Wooldridge and Korsvold at Stanford. The latter has survived in current usage as a result of its incorporation, subject to modification, into the MATHLAB, MACSYMA, and SCRATCHPAD systems.

    In the mid-1960s there appeared two systems, Formula Algol and FAMOUS, which, while dedicated to the symbolic manipulation of mathematical expressions, presented the user with almost no built-in automatic simplification facilities. This was due, at least in the case of FAMOUS, to a conscious decision that, since the "simplicity" of an expression is surely context- dependent, it should be reasonable to present the user with complete control over the simplification process. That is, the user'should be compelled to define all transformations, rather than, as with most systems, be permitted simply to switch on and off the transformations supplied by the system architects. No system of this species has ever solved the inherent efficiency problems to the extent that it could serve more than didactic purposes. Probably neither Formula Algol nor FAMOUS could be revived today.

    Another lost symbolic system of importance is the Symbolic Mathematical Laboratory of W. A. Martin. This system provided high-quality 2-D graphics on a DEC-340 display and was also the first to employ a light pen for subexpression selection. In some ways, it represented a degree of interaction that has not been duplicated by any subsequent system. Nor were its innovative internal programming techniques restricted to its graphics facilities. Of particular interest is the use of hash coding for subexpression matching (Petrick, 1971; pp. 305-310).
          in Encyclopedia of Computer Science, Ralston, Anthony, and Meek, Chester L. (eds) New York, NY Petrocelli/Charter 1976 view details
  • Sammet, Jean E "Roster of programming languages for 1976-77" pp56-85 view details
          in SIGPLAN Notices 13(11) Nov 1978 view details
  • Sammet, Jean E. "History of IBM's Technical Contributions to High Level Programming Languages" pp520ff view details
          in IBM Journal of Research and Development, 25(5), September 1981 25th anniversary issue view details
  • Smillie, K W. review of Sammet 1981 in ACM Computing Reviews September 1982 view details Abstract: This paper gives an assessment of the contributions of IBM to the development of programming languages. It begins with a very brief survey of the development of programming languages in order to place the work of IBM in perspective, followed by a few remarks on Speedcoding and PRINT, two very early attempts within IBM to develop programming languages. The four languages considered by the author to be major contributions by IBM are FORTRAN, GPSS, APL, and PL/I. The summary of the development of these languages is based primarily on the papers presented at the History of Programming Languages Conference in Los Angeles in 1978, and will be familiar to the readers of either the Preprints or the Proceedings of this conference. Several other languages -- Commercial Translator, FORMAC, SCRATCHPAD, QUIKTRAN, and CPS -- which have made important but lesser contributions are discussed briefly. A few remarks are made on IBM's contribution to the syntactic and semantic description of languages with Backus-Naur Form and the Vienna Definition Language, respectively. There is a list of 58 references.

    The author is eminently qualified to have written this paper. She is a long-time employee of IBM, and has written many papers and a definitive book on the development of programming languages. Her account of the contributions of IBM to the development of programming languages is itself a contribution to the subject.
          in IBM Journal of Research and Development, 25(5), September 1981 25th anniversary issue view details
  • Wolfram, Stephen "Symbolic Mathematical Computation" view details External link:
          in [ACM] CACM 28(04) (April 1985) view details
  • Geddes, K.O. ; Czapor S.R. and G. Labahn, "Algorithms for Computer Algebra" Kluwer Academic Publishers, Boston, 1992 view details Extract: Extract from Chapter one
    A BRIEF HISTORICAL SKETCH
    -------------------------

    The development of systems for symbolic mathematical computation first became
    an active area of research and implementation during the decade 1961-1971.
       . . .
       . . .

    To put the decade 1961-1971 into perspective, let us recall that FORTRAN
    appeared about 1958 and ALGOL in 1960. These two languages were designed
    primarily for numerical mathematical computation.
    Then in 1960/1961 came the development of LISP, a language for list
    processing. LISP was a major advancement on the road to languages for
    symbolic computation. An operation such as symbolic differentiation which
    is foreign to FORTRAN and ALGOL is relatively easy in LISP. (Indeed this
    is one of the standard programming assignments for students first learning
    LISP.) As will be noted later, several computer algebra systems were
    written in LISP.

    1961-1966
    ---------

    In 1961, James Slagle at M.I.T. wrote a LISP program called SAINT
    for Symbolic Automatic INTegration.
    This was one of the earliest applications of LISP to symbolic computation
    and it was the first comprehensive attempt to program a computer to behave
    like a freshman calculus student.
    The program was based on a number of heuristics for indefinite integration
    and it performed about as well as a good calculus student.

    One of the first systems for symbolic computation was FORMAC, developed
    by Jean Sammet, Robert Tobey, and others at IBM during the period 1962-1964.
    It was a FORTRAN preprocessor (a PL/I version appeared later) and it was
    designed for the manipulation of elementary functions including, of course,
    polynomials and rational functions.
    Another early system was ALPAK, a collection of FORTRAN-callable subroutines
    written in assembly language for the manipulation of polynomials and rational
    functions. It was designed by William S. Brown and others at Bell Laboratories
    and was generally available about 1964.
    A language now referred to as Early ALTRAN was designed at Bell Laboratories
    during the period 1964-1966. It used ALPAK as its package of computational
    procedures.

    There were two other significant systems for symbolic computation developed
    during this period. George Collins at IBM and the University of Wisconsin
    (Madison) developed PM, a system for polynomial manipulation, an early
    version of which was operational in 1961 with improvements added to the
    system through 1966. The year 1965 marked the first appearance of MATHLAB,
    a LISP-based system for the manipulation of polynomials and rational
    functions, developed by Carl Engelman at M.I.T. It was the first interactive
    system designed to be used as a symbolic calculator. Included among its
    many firsts was the use of two-dimensional output to represent its
    mathematical output.

    The work of this period culminated in the first ACM Symposium on Symbolic
    and Algebraic Manipulation held in March 1966 in Washington, D.C.
    That conference was summarized in the August 1966 issue of the Communications
    of the ACM.

    1966-1971
    ---------

    In 1966/1967, Joel Moses at M.I.T. wrote a LISP program called SIN
    (for Symbolic Integrator). Unlike the earlier SAINT program, SIN was
    algorithmic in approach and it was also much more efficient.
    In 1968, Tony Hearn at Stanford University developed REDUCE, an
    interactive LISP-based system for physics calculations. One of its
    principal design goals was portability over a wide range of platforms,
    and as such only a limited subset of LISP was actually used.
    The year 1968 also marked the appearance of Engelman's MATHLAB-68,
    an improved version of the earlier MATHLAB interactive system, and of
    the system known as Symbolic Mathematical Laboratory developed by
    William Martin at M.I.T. in 1967.
    The latter was a linking of several computers to do symbolic manipulation
    and to give good graphically formatted output on a CRT terminal.

    The latter part of the decade saw the development of several important
    general purpose systems for symbolic computation.
    ALTRAN evolved from the earlier ALPAK and Early ALTRAN as a language and
    system for the efficient manipulation of polynomials and rational functions.
    George Collins developed SAC-1 (for Symbolic and Algebraic Calculations)
    as the successor of PM for the manipulation of polynomials and rational
    functions. CAMAL (CAMbridge Algebra system) was developed by David Barton,
    Steve Bourne, and John Fitch at the University of Cambridge. It was
    implemented in the BCPL language, and was particularly geared to
    computations in celestial mechanics and general relativity.
    REDUCE was redesigned by 1970 into REDUCE 2, a general purpose system
    with special facilities for use in high-energy physics calculations.
    It was written in an ALGOL-like dialect called RLISP, avoiding the
    cumbersome parenthesized notation of LISP, while at the same time retaining
    its original design goal of being easily portable.
    SCRATCHPAD was developed by J. Griesmer and Richard Jenks at IBM Research
    as an interactive LISP-based system which incorporated significant portions
    of a number of previous systems and programs into its library, such as
    MATHLAB-68, REDUCE 2, Symbolic Mathematical Library, and SIN.
    Finally, the MACSYMA system first appeared about 1971.
    Designed by Joel Moses, William Martin, and others at M.I.T., MACSYMA was
    the most ambitious system of the decade.
    Besides the standard capabilities for algebraic manipulation, it included
    facilities to aid in such computations as limit calculations, symbolic
    integration, and the solution of equations.

    The decade from 1961 to 1971 concluded with the Second Symposium on
    Symbolic and Algebraic Manipulation held in March 1971 in Los Angeles.
    The proceedings of that conference constitute a remarkably comprehensive
    account of the state of the art of symbolic mathematical computation in 1971.

    1971-1981
    ---------

    While all of the languages and systems of the sixties and seventies began
    as experiments, some of them were eventually put into "production use''
    by scientists, engineers, and applied mathematicians outside of the
    original group of developers. REDUCE, because of its early emphasis on
    portability, became one of the most widely available systems of this decade.
    As a result it was instrumental in bringing computer algebra to the attention
    of many new users. MACSYMA continued its strong development, especially
    with regard to algorithm development. Indeed, many of the standard
    techniques (e.g. integration of elementary functions, Hensel lifting,
    sparse modular algorithms) in use today either came from, or were strongly
    influenced by, the research group at M.I.T. It was by far the most powerful
    of the existing computer algebra systems.

    SAC/ALDES by G. Collins and R. Loos was the follow-up to Collins' SAC-1.
    It was a non-interactive system consisting of modules written in the ALDES
    (Algebraic DEScription) language, with a translator converting the results
    to ANSI FORTRAN. One of its most notable distinctions was in being the only
    major system to completely and carefully document its algorithms.
    A fourth general purpose system which made a significant mark in the late
    1970's was muMATH. Developed by David Stoutemyer and Albert Rich at the
    University of Hawaii, it was written in a small subset of LISP and came
    with its own programming language, muSIMP.
    It was the first comprehensive computer algebra system which could actually
    run on the IBM family of PC computers.
    By being available on such small and widely accessible personal computers,
    muMATH opened up the possibility of widespread use of computer algebra
    systems for both research and teaching.

    In addition to the systems mentioned above, a number of special purpose
    systems also generated some interest during the 1970's. Examples of these
    include: SHEEP, a system for tensor component manipulation designed by
    Inge Frick and others at the University of Stockholm;
    TRIGMAN, specially designed for computation of Poisson series and written
    in FORTRAN by W. H. Jeffreys at University of Texas (Austin);
    and SCHOONSCHIP by M. Veltman of the Netherlands for computations in
    high-energy physics.
    Although the systems already mentioned have all been developed in
    North America and Europe, there were also a number of symbolic manipulation
    programs written in the U.S.S.R. One of these is ANALITIK, a system
    implemented in hardware by V. M. Glushkov and others at the Institute of
    Cybernetics, Kiev.

    1981-1991
    ---------

    Due to the significant computer resource requirements of the major
    computer algebra systems, their widespread use remained (with the exception
    of muMATH) limited to researchers having access to considerable
    computing resources. With the introduction of microprocessor-based
    workstations, the possibility of relatively powerful desk-top computers
    became a reality. The introduction of a large number of different computing
    environments, coupled with the often nomadic life of researchers (at least
    in terms of workplace locations) caused a renewed emphasis on portability
    for the computer algebra systems of the 1980's.
    More efficiency (particularly memory space efficiency) was needed in order
    to run on the workstations that were becoming available at this time,
    or equivalently, to service significant numbers of users on the
    time-sharing environments of the day.
    This resulted in a movement towards the development of computer algebra
    systems based on newer "systems implementation'' languages such as C,
    which allowed developers more flexibility to control the use of
    computer resources. The decade also marked a growth in the commercialization
    of computer algebra systems. This had both positive and negative effects
    on the field in general. On the negative side, users not only had to
    pay for these systems but also they were subjected to unrealistic claims
    as to what constituted the state of the art of these systems. However,
    on the positive side, commercialization brought about a marked increase in
    the usability of computer algebra systems, from major advances in user
    interfaces to improvements to their range of functionality in such areas
    as graphics and document preparation.

    The beginning of the decade marked the origin of MAPLE.
    Initiated by Gaston Gonnet and Keith Geddes at the University of Waterloo,
    its primary motivation was to provide user accessibility to computer algebra.
    MAPLE was designed with a modular structure: a small compiled kernel of
    modest power, implemented completely in the systems implementation
    language C (originally B, another language in the "BCPL family'')
    and a large mathematical library of routines written in the user-level
    MAPLE language to be interpreted by the kernel. Besides the command
    interpreter, the kernel also contained facilities such as integer and
    rational arithmetic, simple polynomial manipulation, and an efficient
    memory management system. The small size of the kernel allowed it to be
    implemented on a number of smaller platforms and allowed multiple users
    to access it on time-sharing systems.
    Its large mathematical library, on the other hand, allowed it to
    be powerful enough to meet the mathematical requirements of researchers.

    Another system written in C was SMP (Symbolic Manipulation Program) by
    Stephen Wolfram at Caltech. It was portable over a wide range of machines
    and differed from existing systems by using a language interface that was
    rule-based. It took the point of view that the rule-based approach was the
    most natural language for humans to interface with a computer algebra
    program. This allowed it to present the user with a consistent,
    pattern-directed language for program development.

    The newest of the computer algebra systems during this decade were
    MATHEMATICA and DERIVE.
    MATHEMATICA is a second system written by Stephen Wolfram (and others). It
    is best known as the first system to popularize an integrated environment
    supporting symbolics, numerics, and graphics. Indeed when MATHEMATICA
    first appeared in 1988, its graphical capabilities (2-D and 3-D plotting,
    including animation) far surpassed any of the graphics available on
    existing systems. MATHEMATICA was also one of the first systems to
    successfully illustrate the advantages of combining a computer algebra
    system with the easy-to-use editing features on machines designed to use
    graphical user-interfaces (i.e. window environments). Based on C,
    MATHEMATICA also comes with its own programming language which closely
    follows the rule-based approach of its predecessor, SMP.

    DERIVE, written by David Stoutemyer and Albert Rich, is the follow-up to
    the successful muMATH system for personal computers. While lacking the
    wide range of symbolic capabilities of some other systems, DERIVE has an
    impressive range of applications considering the limitations of the 16-bit
    PC machines for which it was designed.
    It has a friendly user interface, with such added features as two-dimensional
    input editing of mathematical expressions and 3-D plotting facilities.
    It was designed to be used as an interactive system and not as a programming
    environment.

    Along with the development of newer systems, there were also a number of
    changes to existing computer algebra systems. REDUCE 3 appeared in 1983,
    this time with a number of new packages added by outside developers.
    MACSYMA bifurcated into two versions, DOE-MACSYMA and one distributed by
    SYMBOLICS, a private company best known for its LISP machines.
    Both versions continued to develop, albeit in different directions,
    during this decade. AXIOM, (known originally as SCRATCHPAD II)
    was developed during this decade by Richard Jenks, Barry Trager,
    Stephen Watt and others at the IBM Thomas J. Watson Research Center.
    A successor to the first SCRATCHPAD language, it is the only
    "strongly typed'' computer algebra system. Whereas other computer algebra
    systems develop algorithms for a specific collection of algebraic domains
    (such as, say, the field of rational numbers or the domain of polynomials
    over the integers), AXIOM allows users to write algorithms over general
    fields or domains.

    As was the case in the previous decade, the eighties also found a number
    of specialized systems becoming available for general use.
    Probably the largest and most notable of these is the system CAYLEY,
    developed by John Cannon and others at the University of Sydney, Australia.
    CAYLEY can be thought of as a "MACSYMA for group theorists.''
    It runs in large computing environments and provides a wide range
    of powerful commands for problems in computational group theory.
    An important feature of CAYLEY is a design geared to answering questions not
    only about individual elements of an algebraic structure, but more
    importantly, questions about the structure as a whole. Thus, while one
    could use a system such as MACSYMA or MAPLE to decide if an element in a
    given domain (such as a polynomial domain) has a given property (such as
    irreducibility), CAYLEY can be used to determine if a group structure is
    finite or infinite, or to list all the elements in the center of the
    structure (i.e. all elements which commute with all the elements of the
    structure).

    Another system developed in this decade and designed to solve problems
    in computational group theory is GAP (Group Algorithms and Programming)
    developed by J. Neubueser and others at the University of Aachen, Germany.
    If CAYLEY can be considered to be the "MACSYMA of group theory,'' then GAP
    can be viewed as the "MAPLE of group theory.'' GAP follows the general
    design of MAPLE in implementing a small compiled kernel (in C) and a large
    group theory mathematical library written in its own programming language.

    Examples of some other special purpose systems which appeared during this
    decade include FORM by J. Vermaseren, for high energy physics calculations,
    LiE, by A.M. Cohen for Lie Algebra calculations,
    MACAULAY, by Michael Stillman, a system specially built for computations
    in Algebraic Geometry and Commutative Algebra,
    and PARI by H. Cohen in France, a system oriented mainly for number theory
    calculations. As with most of the new systems of the eighties, these last
    two are also written in C for portability and efficiency.

    Research Information about Computer Algebra
    -------------------------------------------

    Research in computer algebra is a relatively young discipline, and the
    research literature is scattered throughout various journals devoted to
    mathematical computation. However, its state has advanced to the point where
    there are two research journals primarily devoted to this subject area: the
    "Journal of Symbolic Computation" published by Academic Press
    and "Applicable Algebra in Engineering, Communication and Computing"
    published by Springer-Verlag.
    Other than these two journals, the primary source of recent research
    advances and trends is a number of conference proceedings.
    Until recently, there was a sequence of North American conferences and
    a sequence of European conferences.
    The North American conferences, primarily organized by ACM SIGSAM
    (the ACM Special Interest Group on Symbolic and Algebraic Manipulation),
    include SYMSAM '66 (Washington, D.C.), SYMSAM '71 (Los Angeles),
    SYMSAC '76 (Yorktown Heights), SYMSAC '81 (Snowbird),
    and SYMSAC '86 (Waterloo).
    The European conferences, organized by SAME (Symbolic and Algebraic
    Manipulation in Europe) and ACM SIGSAM, include the following whose
    proceedings have appeared in the Springer-Verlag series
    "Lecture Notes in Computer Science":
    EUROSAM '79 (Marseilles), EUROCAM '82 (Marseilles),
    EUROCAL '83 (London), EUROSAM '84 (Cambridge),
    EUROCAL '85 (Linz), and EUROCAL '87 (Leipzig).
    Starting in 1988, the two streams of conferences have been merged
    and they are now organized under the name ISSAC (International Symposium
    on Symbolic and Algebraic Computation),
    including ISSAC '88 (Rome), ISSAC '89 (Portland, Oregon),
    ISSAC '90 (Tokyo), ISSAC '91 (Bonn) and ISSAC '92 (Berkeley).


    -----------------------------------------------
    Professor Keith Geddes
    Symbolic Computation Group
    Department of Computer Science
    University of Waterloo
    Waterloo  ON  N2L 3G1
    CANADA
          in [ACM] CACM 28(04) (April 1985) view details