Gah, so many options. Axiom, derive, macsyma, maple, mathematica, MATLAB, mupad, reduce, R, octave, sage, numpy, scipy, PDL, sympy, ... yeah. Lots of options, and I'm not even sure how many CASes (computer algebraic systems) are out there and open source. It looks like sympy is an implementation, so I'll go play with that for a while and see what happens (or doesn't).