Opened 11 years ago

Closed 11 years ago

# Bug in primary decomposition

Reported by: Owned by: mlee somebody critical 3-2-0 and higher singular-kernel 3-1-6 primary decomposition

### 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";
> 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
_[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.

### comment:1 Changed 11 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 11 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 11 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 11 years ago by mlee

Resolution: → invalid new → closed
Note: See TracTickets for help on using tickets.