#12802: test containment of ideals in class MPolynomialIdeal
--------------------------------------------------+-------------------------
Reporter: mariah | Owner: AlexGhitza
Type: enhancement | Status:
needs_review
Priority: minor | Milestone: sage-5.1
Component: algebra | Resolution:
Keywords: sd40.5, groebner bases, ideals | Work issues:
documentation
Report Upstream: N/A | Reviewers: Andrey
Novoseltsev
Authors: John Perry | Merged in:
Dependencies: | Stopgaps:
--------------------------------------------------+-------------------------
Changes (by SimonKing):
* cc: malb (added)
Comment:
Compare #12976: If you work on comparison of ideals, you should perhaps
also consider the fact that ideals evaluating as equal may have different
hash, because the hash relies on the string representation (hence, on the
generators), but the comparison relies on Gröbner bases. So, the hash is
broken (and is rather slow, too).
Also, there is one thing you didn't fix: If the Gröbner basis of ''only
one'' of the two to-be-compared ideals is not in the cache, then a
''copy'' of the two ideals is created using degrevlex term order, and then
the Gröbner basis is computed in the supposedly easier order. However, the
ring change happens even if the ideals already are in degrevlex order, and
moreover the result of the Gröbner basis computation is not cached. For
that problem, I had already opened #12987.
By the way, good that you do ''not'' try to change comparison of
polynomial ideals into a generator-wise comparison - the ticket
description let the impression arise that you want to drop Gröbner bases.
How should one proceed? Fix the "useless double-computation of Gröbner
bases of copies of ideals" here? Then this ticket is "needs work", and
#12987 is a duplicate. Or fix it at #12987? Then I have to add this ticket
as a new dependency for #12987.
Possible idea: One could create an attribute `_gb_by_term_order_` that is
a dictionary storing the Gröbner bases of an ideal with respect to
different orders. Hence, when doing a comparison and computing the Gröbner
basis of a ''copy'' of ideal J in "degrevlex" order (while J lives in a
ring with different order), then `J._gb_by_term_order_["degrevlex"]`
should store the result.
A related topic: Avoid using comparison and hash when passing argument
attributes in singular_function. See #12977 (needs review).
Another thing: This ticket's component should be "commutative algebra",
not "algebra". And I guess Martin should be Cc.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12802#comment:28>
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.