+++ /dev/null
-from sage.all import *
-from sage.interfaces.maxima_lib import maxima_lib
-from sage.symbolic.expression import Expression
-
-
-def set_simplification_domain(d):
- """
- Set Maxima's simplification domain.
-
- INPUT:
-
- - ``d`` -- The domain, either 'real' or 'complex'.
-
- TESTS:
-
- With the default 'complex' domain, we don't simplify this::
-
- sage: sqrt(x^2).simplify()
- sqrt(x^2)
-
- But in the 'real' domain, we do::
-
- sage: set_simplification_domain('real')
- 'real'
- sage: sqrt(x^2).simplify()
- abs(x)
- sage: set_simplification_domain('complex')
- 'complex'
-
- """
- cmd = 'domain: %s;' % d
- result = maxima_lib._eval_line(cmd)
- return result
-
-
-def safe_simplify(expr):
- """
- What should be a totally safe simplification operation that works
- a little better than the plain simplify().
-
- Uses a top-level function because we can't monkey-patch Cython
- classes.
- """
- expr = expr.simplify_factorial()
- expr = expr.simplify_log()
- return expr