#13714: multi_polynomial.lift(...) affects libsingular internal state; makes
ideal.complete_primary_decomposition() fail
---------------------------------------+------------------------------------
       Reporter:  Bouillaguet          |         Owner:  malb    
           Type:  defect               |        Status:  new     
       Priority:  major                |     Milestone:  sage-5.6
      Component:  commutative algebra  |    Resolution:          
       Keywords:  libsingular          |   Work issues:          
Report Upstream:  N/A                  |     Reviewers:          
        Authors:                       |     Merged in:          
   Dependencies:                       |      Stopgaps:          
---------------------------------------+------------------------------------
Description changed by Bouillaguet:

Old description:

> On sage 5.4:
> {{{
> sage: R.<x1,x2> = QQ[]
> sage: I = R.ideal(x2**2 + x1 - 2, x1**2 - 1)
> sage: R.one().lift(I)
> [0, 0]
> 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 SEGFAULTs).
>
> 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 these
> case is 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.

New description:

 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.

--

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