#10268: adding GiNaC method to simplify_rational
----------------------------+-----------------------------------------------
   Reporter:  bgoodri       |       Owner:  burcin    
       Type:  enhancement   |      Status:  needs_work
   Priority:  minor         |   Milestone:  sage-4.6.2
  Component:  symbolics     |    Keywords:            
     Author:  Ben Goodrich  |    Upstream:  N/A       
   Reviewer:                |      Merged:            
Work_issues:                |  
----------------------------+-----------------------------------------------
Changes (by newvalueoldvalue):

  * status:  new => needs_work
  * author:  => Ben Goodrich


Comment:

 I'm really happy to see some effort to use pynac/ginac to replace
 functionality we normally use maxima for. Unfortunately this is a really
 busy period for me so I can't help much. Thanks a lot for your effort Ben.

 Replying to [comment:4 bgoodri]:
 > Why would it fall into the gcd function from
 /media/disk30/sage-4.6/local/lib/python2.6/site-
 packages/sage/rings/arith.pyc? The patch does not call it directly, and it
 is a waste because normal in GiNaC already cancels the greatest common
 factor from the numerator and the denominator. And then a related question
 is why does gcd seem to hang?

 The `numeric::gcd()` method calls `sage.symbolic.pynac.py_gcd()`. See
 here:

 http://pynac.sagemath.org/hg/file/b233d9dadcfa/ginac/numeric.cpp#l2526

 It could be that our gcd() function doesn't work exactly like CLN's
 `gcd()` function which is used originally by ginac. This would effect the
 termination criteria used in the multivariate gcd code in ginac/pynac.

 I haven't looked into the functionality in `normal.cpp` much, but one of
 William's goals was to make it call Singular (or the Factory library) to
 factor multivariate polynomials instead of the code in ginac. This library
 generally performs much better and it is actively being developed.

 ----

 BTW, kcrisman was right about his comment on the use of `sig_on/sig_off`.
 These functions are used to override the signal handlers so we can catch
 `CTRL-C` in long running library code. You don't need them around the
 declaration of `GEX`, but you should use them in the call to `normal()`.
 AFAIR, Jeroen Demeyer recently wrote a section on this in the developers
 guide, but I don't have a link handy right now. The new call signature for
 these might be `sig_on()`, like a function call.

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