#13675: multivariate polynomials lack the inverse_mod(...) method
-------------------------------------------+--------------------------------
       Reporter:  Bouillaguet              |         Owner:  malb        
           Type:  enhancement              |        Status:  needs_review
       Priority:  minor                    |     Milestone:  sage-5.5    
      Component:  commutative algebra      |    Resolution:              
       Keywords:  inverse modulo an ideal  |   Work issues:              
Report Upstream:  N/A                      |     Reviewers:  Marco Streng
        Authors:  Charles Bouillaguet      |     Merged in:              
   Dependencies:                           |      Stopgaps:              
-------------------------------------------+--------------------------------
Changes (by Bouillaguet):

  * status:  needs_work => needs_review


Comment:

 Replying to [comment:4 mstreng]:
 > The word OUTPUT is indented too much. You can also see what the
 documentation looks like with {{{./sage -docbuild reference html}}} and
 looking at {{{SAGEROOT/devel/sage-
 
main/doc/output/html/en/reference/sage/rings/polynomial/multi_polynomial.html}}}.
 Fix this, and this patch can get a positive review.

 Fixed (I also fixed another stupid docstring issue for another function)

 > Note though that the check with "in" is very inefficient (so I'm sorry
 for suggesting it)

 Well, checking that P.one() belongs to [self]+B should in principe trigger
 the computation of a Groebner basis thereof. But performing the "lift"
 also requires a GB, so I assume that the whole operation computes a GB of
 [self]+B. It would be stupid if this happened TWICE though.

 However, computing a GB of the ideal B was useless, so I removed it (but
 when you work in the quotient R/B, you most likely WILL need a GB of B at
 some point, I guess).

 > For both these reasons, it would seem faster to do skip the check with
 "in", and put the line with "lift" inside a "try". But that would require
 #13671 to be fixed first. Alternatively: in which package is "lift"
 implemented? Doesn't that package have an "inverse_mod" method ready to
 wrap?

 Lift is implemented by singular. We could have a generic implementation
 based on multivariate polynomial division, but it would not make much
 sense, because all our operations on multivariate polynomial are handled
 by singular at this time.

 I don't know if singular has the inverse_mod operation. I will check.
 However at this time, testing if 1 belongs to the ideal is necessary to
 work around the bug in lift exposed by #13671

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