I'm going to port it so i can make an algebra and geometry calculator for my ipod haha.
SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries.
Features
SymPy core capabilities include:
basic arithmetics *,/,+,-,**
basic simplification (like a*b*b + 2*b*a*b -> 3*a*b**2)
expansion (like (a+b)**2 -> a**2 + 2*a*b + b**2)
functions (exp, ln, ...)
complex numbers (like exp(I*x).expand(complex=True) -> cos(x)+I*sin(x))
differentiation
taylor (laurent) series
substitution (like x -> ln(x), or sin -> cos)
arbitrary precision integers, rationals and floats
noncommutative symbols
pattern matching
Then there are SymPy modules for these tasks:
more functions (sin, cos, tan, atan, asin, acos, factorial, zeta, legendre)
limits (like limit(x*log(x), x, 0) -> 0)
integration using extended Risch-Norman heuristic
polynomials (division, gcd, square free decomposition, groebner bases, factorization)
solvers (algebraic, difference and differential equations, and systems of equations)
symbolic matrices (determinants, LU decomposition...)
mpmath (multiprecision floating-point arithmetic)
geometric algebra (GA)
Pauli and Dirac algebra
quantum physics
geometry module
plotting (2D and 3D)
code generation (C, Fortran, LaTeX)