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
http://www.boost.org/LICENSE_1_0.txt)
** 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.
http://web.cs.du.edu/~jscohen/
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 http://www.boost.org/users/license.html