Symbolic Computation (also
known as Computer Algebra) has found many applications as a complementary computational
technique to the more traditional numerical computation. Effective use
of symbolic computation involves sometimes sophisticated mathematical
techniques and the knowledge of basic algorithms used in the implementation
of these systems. These techniques are not covered in standard mathematics
or computer science curricula. This course will provide an opportunity
to learn them.

Most users of symbolic computation systems stick to high-level commands
which completely solve the problems at hand. In most problems you would
want to excercise the full power of Computer Algebra
by writing extensions to existing
systems, like Mathematica,
Maxima and Axiom or even writng new, custom computer algebra systems, using tools like Lisp and Prolog and C++. These are the
topics of this course. Many illustative examples will be discussed, including
such diverse applications as differential
equations and automatic
theorem proving.

**Prerequisites:**

A senior-level or graduate course in linear algebra, vector calculus,
and differential equations. Plus at least one or a combination of the
following: working knowledge of a programming language; experience with
a CAS like Mathematica, Maxima, MACSYMA or Maple; experience in the use
of computers.

### Maxima running in the TeXmacs editor