#12650: Perform safe simplifications in Expression.simplify()
------------------------------------+---------------------------------------
       Reporter:  mjo               |         Owner:  mjo         
           Type:  enhancement       |        Status:  needs_review
       Priority:  major             |     Milestone:  sage-5.0    
      Component:  symbolics         |    Resolution:              
       Keywords:                    |   Work issues:              
Report Upstream:  N/A               |     Reviewers:  David Roe   
        Authors:  Michael Orlitzky  |     Merged in:              
   Dependencies:                    |      Stopgaps:              
------------------------------------+---------------------------------------

Comment (by mjo):

 Replying to [comment:6 kcrisman]:
 > I don't think this is the right fix.
 >  * Breaks behavior for no reason
 >  * Breaks with our recent trajectory of ''adding'' access to Maxima
 stuff and granularity
 >  * Makes users have to do much more than needed for the super-basic
 simplifications that Maxima did
 > Now, maybe we should do more in `simplify`.  But it seems sort of
 redundant to ''remove'' `radcan` from `simplify_full` and then ''add''
 everything else here anyway.
 >
 > I think that it might make sense to look over the Maxima documentation
 and ''code'' very carefully and determine if something like the factorial
 simplification truly is the same in all cases, like it would be with
 `expand`.  Otherwise it seems unwise to make this change.
 >
 > I'm especially mystified as to what the difference between `simplify`
 and `simplify_full` should be under this regime.

 I brought this up in my initial message to sage-devel, but didn't get any
 comments. I agree it's not perfect, but,

  * Most of the simplifications we do are pretty basic anyway. I think it
 makes sense to have `simplify()` actually attempt ''something''. If we
 ever discover that the simplifications in `simplify()` are misbehaving,
 they can just be removed.
  * `full_simplify()` used to make two calls to `simplify_rational()` In
 #12737 I've got it making two calls to `simplify()` so it isn't
 ''completely'' redundant even with unsafe=False.
  * New simplifications can be added to `full_simplify()`, for example
 #11785. And maybe we could allow to take a complexity function as an
 argument ala Mathematica.

 I am open to other ideas, though. I personally would be satisfied with
 `full_simplify()` if it were safe to call and I didn't have to define my
 own `safe_simplify()`.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12650#comment:8>
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