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

Maxima session in TeXmacs
Cool image