#12650: Perform safe simplifications in Expression.simplify()
---------------------------+------------------------------------------------
   Reporter:  mjo          |          Owner:  mjo     
       Type:  enhancement  |         Status:  new     
   Priority:  major        |      Milestone:  sage-5.0
  Component:  symbolics    |       Keywords:          
Work_issues:               |       Upstream:  N/A     
   Reviewer:               |         Author:          
     Merged:               |   Dependencies:          
---------------------------+------------------------------------------------
 This is part 1 (of n, n >= 1) of an attempt to make simplification safer.

 Right now, `simplify()` doesn't attempt anything drastic: it sends the
 expression to Maxima and back. So if you want a non-trivial
 simplification, you have to use something else.

 That something else is `full_simplify()`, unless you want to write your
 own simplification function. But `full_simplify()` has a problem: the evil
 radcan.

  1. #3520 - inconsistency in simplify_radical
  2. #12322 - invalid simplification of complex logarithm
  3. [http://ask.sagemath.org/question/767/simplification-errors-in-simple-
 expressions AskSage 767] - simplification errors in simple expressions

 And a simple example that logix was nice enough to dig out of my code on
 IRC:

 {{{
 sage: f = sqrt((x+1)^2)
 sage: f.full_simplify()
 x + 1
 sage: f(x = -5)
 4
 sage: f.full_simplify()(x = -5)
 -4
 }}}

 The goal is to make simplification safer, through some combination of,

  * Making `simplify()` more useful.
  * Making it obvious that `full_simplify()` can do some, uh,
 ''unintuitive'' things.

 Unless there are objections, I see no reason not to make `simplify()`
 perform all "safe" simplifications; that is, simplifications for which
 `simplify(expr) == expr` with some certainty.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12650>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to