Opened 6 years ago
Closed 6 years ago
#13714 closed defect (fixed)
multi_polynomial.lift(...) affects libsingular internal state; makes ideal.complete_primary_decomposition() fail
Reported by: | Bouillaguet | Owned by: | malb |
---|---|---|---|
Priority: | major | Milestone: | sage-5.7 |
Component: | commutative algebra | Keywords: | libsingular |
Cc: | malb, mstreng | Merged in: | sage-5.7.beta4 |
Authors: | Charles Bouillaguet | Reviewers: | Martin Albrecht, Marco Streng |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
On sage 5.5:
sage: R.<x1,x2> = QQ[] sage: I = R.ideal(x2**2 + x1 - 2, x1**2 - 1) sage: R.one().lift(I) Traceback (most recent call last): ... ValueError: polynomial is not in the ideal
And then the bug:
sage: I.complete_primary_decomposition() // ** char_series returns 0 x 0 matrix from 3 input polys (0) I[1,1]=x2^2+x1-2 I[1,2]=x1^2-1
and hangs forever (on sage 5.3 it just SEGFAULTed).
The key in this case is the failing call to lift
, i.e., evaluating f.lift(I)
while f
is not in I
. What happens in this case has been changed by #13671 (but the problem in this ticket is independent). It was found while fixing #13671 that when computing f.lift(I)
, then if f
is not in I
an error is raised by singular, by setting a global variable. Before #13671, this variable was not reset, and subsequent calls to lift
would return junk. After #13671, the global variable is reset and lift
works correctly. However, it was apparently not the end of the story.
Attachments (1)
Change History (9)
comment:1 Changed 6 years ago by
- Description modified (diff)
comment:2 Changed 6 years ago by
- Status changed from new to needs_review
comment:3 Changed 6 years ago by
Looks good but what's up with that matrix2.pyx bit?
comment:4 Changed 6 years ago by
It's nothing but a mistake (bad MQ management queue). I updated the patch
comment:5 Changed 6 years ago by
why the duplicate "cdef int errorreported" in /sage/libs/singular/singular-cdefs.pxi?
comment:6 Changed 6 years ago by
I have no idea :) I'm updating the patch right now.
Changed 6 years ago by
comment:7 Changed 6 years ago by
- Reviewers set to Martin Albrecht, Marco Streng
- Status changed from needs_review to positive_review
looks good, fixes the problem, and all tests pass
comment:8 Changed 6 years ago by
- Merged in set to sage-5.7.beta4
- Resolution set to fixed
- Status changed from positive_review to closed
The patch fixes the bug. Thanks Hans !