#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.