I have started a project
PySymbolic - "Doing Symbolics in Python"
PySymbolic is a collection of tools for doing elementary symbolic calculations in Python. The project is in alpha stage.
Current features include basic simplifications: *** removing redundant parenthesis: (a) -> a *** applying factorization: -(a) -> -a, +a -> a, ~(a) -> ~a *** collecting terms: n*a+b+m*a -> k*a+b (where k=n+m) *** collecting powers: a**c*b/a**d -> a**(c-d)*b *** cancellations: 0*a -> 0, a+0 -> 0, a**0 -> 1, 1*a -> a, a**1 -> a *** rational arithmetic: 3/4+2/6-1 -> 1/12 *** opening parenthesis: (a+b)*c -> a*c+b*c *** expanding integer powers: (a+b)**n -> a**n+a**(n-1)*b+... *** sorting terms in alphabethic order: a+c+b -> a+b+c *** (more to come)
Projects homepage is http://cens.ioc.ee/projects/pysymbolic/
You can download the source from http://cens.ioc.ee/projects/pysymbolic/PySymbolic.tgz