MINI-CAS, a MINImal Computer Algebra System

Copyright (c) 2011 Daniel Herring
Distributed under the Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt or copy at

** Install **

What?!?  Not much to do.  I provide an ASDF system definition for convenience.

** What it does **
symbolic math
(sufficient for deriving my robot kinematic and dynamic equations)
(hopefully without introducing bugs)

** Why another CAS **
This is a hard question.  Good CAS software is hard to write, there are numerous mature systems, etc.

I was looking for
- a Common Lisp CAS library (for integration with other code)
- basic ops: + - * / sin cos
- matrix support
- derivatives

Original plan was to use [Open]Axiom/Fricas or Maxima; but these require glue code to generate and parse "human-style" input, spawn subprocesses, etc.  Not to mention their massive size.

Then I tried modernizing Mock-MMA.  Not fun.  Got the obvious things fixed; but there were still major issues (and no matrix support).

Where are the CL CAS libraries?  Not finding them, I slapped this together.

Anyone wanting to make a real CAS out of this should read some CAS books or at least know abstract algebra.  

Joel Cohen wrote a set of practical CAS books; most others focus on details such as polynomial factorization, Groebner bases, etc.
Computer Algebra and Symbolic Computation: Elementary Algorithms, AK Peters Ltd., 2002
Computer Algebra and Symbolic Computation: Mathematical Methods, AK Peters Ltd., 2003

** License **

Normal disclaimers apply.  I only spot-checked the math; hopefully the simplifications are simple enough to not introduce bugs.  License described at