Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Simplification in Sage is pretty much exclusively a not-so-sophisticated use of Maxima routines. I do not know how they do things - I don't think it's as pattern-matching as I've heard Mathematica is.

Here is an example (and one that sometimes causes trouble, because of course simplification simplifies and so things may not be 100% identical (like $x^2/x\neq x$).

sage: x.simplify_exp??
<snip>
from sage.calculus.calculus import maxima
maxima.eval('domain: real$')
res = self.parent()(self._maxima_().radcan())
maxima.eval('domain: complex$')
return res

There are a lot of tickets related to this here, so please feel free to contribute! Or even help make Maxima's simplification routines more robust; they should be written in a combination of Lisp and Maxima's own language.