Symbolic Mathematical Computation

Overview:

An introduction to Computer Algebra and its history.
introduction
Symbolic mathematics is popularly know as "computer algebra".
MACSYMA
MACSYMA was the first general purpose computer algebra program.
references
Some books and journals.
MAPLE
MAPLE was designed for portability and speed, to make Computer Algebra more widely accessible.
Mathematica
Mathematica is today's world leading computer algebra tool.

Introduction:

Symbolic mathematics is popularly know as "computer algebra".
Computer Algebra
The term "Computer Algebra" is used to refer to the use of computers for performing algebraic or symbolic transformations. This means the manipulation by computers of expressions or formulae formed using names representing variable or unknown quantities and names or special symbols which denote operations or functions applied to these quantities.
Example
A simple example of the kind of transformation which might be performed symbolically by a computer algebra tool is:

(x2 - 1)(1 + x) => x3 + x2 - x - 1

This transformation is known as "expansion".

Though computer algebra tools are distinguished by their ability to perform a wide range of symbolic transformations they are usually also equally competent in purely numerical computation, and many kinds of task (for example integration) can be performed either numerically or symbolically.
It may also be noted that tools supporting "linear algebra" (such as Matlab) are primarily concerned with numerical computations involving vectors or matrices of numbers, and may have limited symbolic capabilities.

Well known general purpose "computer algebra" tools include Axiom, Reduce, MACSYMA, Maple and Mathematica.

MACSYMA:

MACSYMA was the first general purpose computer algebra program.
Its development began in 1968 at the MIT Artificial Intelligence laboratories, and continues through to the present day, now in the hands of Macsyma Inc. MACSYMA was designed by Carl Engelman, William Martin and Joel Moses, building on their previous experience with Mathlab 68 and other doctoral research work on particular kinds of symbolic problem solving. An example of this prior work was the SIN program written by Moses to perform symbolic integration.
MACSYMA provided the first comprehensive interactive computing environment for use by mathematicians, scientists and engineers in solving mathematical problems. It provided a wide range of algebraic transformation capabilities, backed up by an extensive library of numerical facilities and a plotting package. On the downside, it was developed using LISP to run on large and expensive timesharing computers and was consequently very resource hungry.

MAPLE:

MAPLE was designed for portability and speed, to make Computer Algebra more widely accessible.
The development of MAPLE was begun in 1980 at the University of Waterloo, Canada. A key design goal was to broaden access to computer algebra software by reducing the computer resources demanded by the software, and by making the software portable across a wide range of computer models. For this reason, development of MAPLE began with the B language, progressing to the C language when it became available, and involved careful studies of the efficiency of alternative algorithms.
In 1987 MAPLE was incorporated as Waterloo Maple Software (now Waterloo Maple Inc.), and continues to be developed as commercial software. Its present capabilities are the result of two decades of development and provide:
  • Numerical Calculation
  • Symbolic integration and differentiation
  • Symbolic equation solving
  • Trigonometric and Exponential/Logarithm Functions
  • Linear Algebra
  • Statistics
  • Two- and three-dimensional Plotting
  • Animation
  • Interfaces with the C and Fortran Programming languages

Mathematica:

Mathematica is today's world leading computer algebra tool.
Stephen Wolfram
Mathematica was developed by Stephen Wolfram, a distinguished polymath educated at Eton, Oxford and Caltech who received his PhD in theoretical physics at the age of 20, and whose work is now cited in over 10,000 technical papers.
Aim
Mathematica aims to provide users with a fully comprehensive integrated environment for all kinds of mathematical application, ranging from elementary computations and transformations to large development projects building mathematical models for use in complex engineering projects.
Approach
Through an interactive programming language optimised for this kind of work, users have access to a comprehensive range of mathematical functions including both the well known standard functions such as sin and cos and Mathematica superfunctions such as Solve, Integrate, and Simplify.
Superfunctions
These superfunctions use the full range of lower level capabilities for certain kinds of problem solving, selecting and applying them as required by the problem in hand. These superfunctions include "Solve" for exact symbolic and "NSolve" for numeric solution of polynomial equations, "Integrate" for symbolic and "Nintegrate" for numerical integration, "DSolve" and "NDSolve" for simultaneous differential equations, and "Simplify" for simplifying mathematical expressions.
Application Libraries
The power of Mathematica and other computer algebra tools is to a large extent due to the extensive libraries which provide their comprehensive knowledge of mathematics and its applications. The libraries provided by the supplier are supplemented by compendious online libraries of applications made available by the community of users.
History
Wolfram's interest in computer algebra started with the development of SMP a computer algebra system which he began to develop in 1979 and released commercially in 1981. After a digression to found the field of complex systems Wolfram returned to computer algebra in 1986 and began the development of Mathematica. He founded Wolfram Research in 1987 to continue the commercial development of Mathematica. When first released in 1988, Mathematica seized the lead in this field which it has retained to this day, reaching 100,000 users in 1990 and one million in 1995.
Numerical Computation
Numerical computation in Mathematica is conducted to arbitrary precision controlled by the user. The user selects the precision he requires in the result and Mathematically automatically selects the precision needed in intermediate results to give that precision in the end result.

Mathematical Libraries
The combination in Mathematica's programming language of those features found in other good high level programming languages together with an exhaustive knowledge of mathematics makes for outstanding ease in implementing mathematical applications. Alongside these comprehensive mathematical capabilities mathematica provides powerful graphical and multimedia capabilities. All of this is supported in a document oriented paradigm in which work is prepared and presented in Mathematica "notebooks", suitable either for electronic (fully animated viewing) or hard copy presentation.

references:

Some books and journals.
The Journal of Symbolic Mathematics

Swartz, David: An Introduction to MAPLE Prentice Hall, June 1999; ISBN: 0130951331

Parker, Richard: Maple for Algebra Delmar, January 1997, ISBN: 0827374070

The Mathematica Journal

Wolfram, Stephen: The Mathematica Book - A system for doing Mathematics by Computer - Third edition 1996, Cambridge University Press; ISBN 052158888X.

Allen C. Hibbard, Kenneth M. Levasseur: Exploring Abstract Algebra With Mathematica Springer Verlag June 1999, ISBN: 0387986197


UP HOME © RBJ created 2000/2/3 modified 2000/2/18