R. Robinson: 9/99 2/01
A new system, MuPad, that resembles Maple in certain ways is currently available free.
Various more specialized programs like GAP (Groups, Algorithms and Programming) are also available for free.
A list of many CAS is in my web links file.
Typically commercial CAS programs now include:
CAS programs are available for all major platforms
(Unix, Linux, Windows, Mac, some calculators).
Commercial implementations tend to be expensive.
One typically refers to features like the GUI, notebooks, graphing, etc. the front end.
The CAS program itself (the part that does the computing) is called the kernel.
Derive (or really its kernel) is now available in some hand held calculators (form TI, which recently bought derive). Maple is now available in Casio "CASSIOPEIA" calculator.
The makers of Maple seem particularly willing to "license out" the Maple kernel. It is available as the kernel behind Scientific Workplace (et al) and as the "Symbolic Toolbox" in MATLAB.
MATLAB is not a CAS (not counting the symbolic toolbox). It does mathematics numerically rather than symbolically.
That is to say its kernel is numerical. It is based on machine floating point arithmetic and algorithms from numerical analysis. On the other hand, the MATLAB front end is very similar to (though more rudimentary than) the typical CAS front end. Note that MATLAB can support notebooks based on MS Word.
The fact that MATLAB is not a CAS is both an advantage and a disadvantage. The advantage is that many computations run faster in MATLAB than in Maple.
However, like all the CAS systems, MATLAB is interpreted which means it generally runs slower than Fortran or C (we will experiment with this later)
One of the most useful features of CAS systems (that MATLAB shares) is that the interpreted environment and high level mathematical language features make these systems ideal for experimentation and prototyping.
So what characterizes a CAS that makes it different from, say, MATLAB?
It has the ability to do computations symbolically rather than just numerically. This includes calculus, algebra and number theory.
The mathematical theory behind CAS is an active area of study. In particular, it is the study of systematic algorithms for solving general classes of mathematical problems. Some of these are old and have only recently been implemented on computers. Others are newer.
In some sense this theory parallel to numerical analysis and even has some overlaps. Typically, however the algorithms are more complicated, and for the most part we will not study them, but rather concentrate on using them.
However, I will mention, for example, that solving
algebraic equations is accomplished using a technique called Grobner
Bases, a theory that originated in the field of algebraic geometry.
Similarly, indefinite integrals are evaluated via called the Bronstein
integration algorithm, which can determine in principle whether an
elementary integral exists. (See Cohen, Davenport and Heck, Computer
Algebra in Industry,
A. Cohen, ed.)
Cohen, Davenport and Heck in the book Computer Algebra
in Industry (A. Cohen, Ed) list 7 "Advantages of Computer Algebra".
They go on to describe the following factors that
limit (in practice) the usefulness of CAS: