Opened 10 years ago

Closed 10 years ago

#473 closed bug (invalid)

Bug in primary decomposition

Reported by: mlee Owned by: somebody
Priority: critical Milestone: 3-2-0 and higher
Component: singular-kernel Version: 3-1-6
Keywords: primary decomposition Cc:

Description

mlee@fifi:~/Spielwiese/new/Sources/Singular$ ./Singular 
                     SINGULAR                                 /  Development
 A Computer Algebra System for Polynomial Computations       /   version 3-1-6
                                                           0<
 by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann     \   Dec 2012
FB Mathematik der Universitaet, D-67653 Kaiserslautern        \
// ** executing /home/mlee/Spielwiese/new/Sources/Singular/LIB/.singularrc
> LIB "primdec.lib";
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/primdec.lib (14732,2012-03-30)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/ring.lib (15322,2012-10-12)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/absfact.lib (14191,2011-05-04)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/triang.lib (13499,2010-10-15)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/matrix.lib (13658,2010-11-16)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/nctools.lib (14246,2011-05-26)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/inout.lib (13499,2010-10-15)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/random.lib (14661,2012-03-05)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/poly.lib (14852,2012-04-30)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/elim.lib (14661,2012-03-05)
// ** loaded /home/mlee/Spielwiese/new/Sources/Singular/LIB/general.lib (14191,2011-05-04)
> ring R=3,(x,y),lp;
> system ("--random",12345678);
> ideal i=y4-x3-x,x9-x,y9-y;
> list l=primdecGTZ(i);
> l;
[1]:
   [1]:
      _[1]=y
      _[2]=x
   [2]:
      _[1]=x
      _[2]=y
[2]:
   [1]:
      _[1]=y-1
      _[2]=x+1
   [2]:
      _[1]=y-1
      _[2]=x+1
[3]:
   [1]:
      _[1]=y+1
      _[2]=x+1
   [2]:
      _[1]=y+1
      _[2]=x+1
[4]:
   [1]:
      _[1]=y2-y-1
      _[2]=x-1
   [2]:
      _[1]=y2-y-1
      _[2]=x-1
[5]:
   [1]:
      _[1]=y2+y-1
      _[2]=x-1
   [2]:
      _[1]=y2+y-1
      _[2]=x-1
[6]:
   [1]:
      _[1]=y2+1
      _[2]=x+1
   [2]:
      _[1]=y2+1
      _[2]=x+1
[7]:
   [1]:
      _[1]=y
      _[2]=x2+1
   [2]:
      _[1]=y
      _[2]=x2+1
[8]:
   [1]:
      _[1]=y-1
      _[2]=x2-x-1
   [2]:
      _[1]=y-1
      _[2]=x2-x-1
[9]:
   [1]:
      _[1]=y+1
      _[2]=x2-x-1
   [2]:
      _[1]=y+1
      _[2]=x2-x-1
[10]:
   [1]:
      _[1]=y2-y-1
      _[2]=x+y
   [2]:
      _[1]=y2-y-1
      _[2]=x+y
[11]:
   [1]:
      _[1]=y2-y-1
      _[2]=x-y+1
   [2]:
      _[1]=y2-y-1
      _[2]=x-y+1
[12]:
   [1]:
      _[1]=y2+y-1
      _[2]=x-y
   [2]:
      _[1]=y2+y-1
      _[2]=x-y
[13]:
   [1]:
      _[1]=y2+y-1
      _[2]=x+y+1
   [2]:
      _[1]=y2+y-1
      _[2]=x+y+1
[14]:
   [1]:
      _[1]=y2+1
      _[2]=x+y+1
   [2]:
      _[1]=y2+1
      _[2]=x+y+1
[15]:
   [1]:
      _[1]=y2+1
      _[2]=x-y+1
   [2]:
      _[1]=y2+1
      _[2]=x-y+1
> // Vergleiche mit:
. list L=primdecSY(i);
> L[13][2];
_[1]=y2+y-1
_[2]=x+y2-y
> radical (L[13][2]);
_[1]=x+y+1
_[2]=y2+y-1
> 

This example is taken from our test suite (Short/bug_15.tst) and mistakenly the wrong result has been added to the test suite.

Change History (4)

comment:1 Changed 10 years ago by gorzel

I don't see what the bug should be. The result isn't wrong, the ideal

ideal J = y2+y-1,x+y2-y; 

is the same as

y2+y-1,x-(y-1)-y; 

and over characteristic 3, it is the same as

y2+y-1,x+y+1; 

So if you compute a reduced GB,is gives what you want.

 ideal J = y2+y-1,x+y2-y;
 std(J);
> std(J);
_[1]=y2+y-1
_[2]=x+y2-y
> option(redSB);  
> std(J);       
_[1]=y2+y-1
_[2]=x+y+1

So activate option(redSB); inside the proc primdecSY

Wasn't there a similar question in the forum, recently? ;-)

comment:2 Changed 10 years ago by mlee

Ok. Maybe not a bug but still I find the result inconsistent when comparing the GTZ to SY method.

comment:3 Changed 10 years ago by gorzel

Different method may lead to different presentations. I don't know the internals of theses procs. Is facstd used? It has an incomplete reduction at the final step.

comment:4 Changed 10 years ago by mlee

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.