Opened 10 years ago

Closed 9 years ago

# std over integers in local ordering

Reported by: Owned by: ren popescu@… blocker 4-1-0 and higher dontKnow 4-0-0

### Description

Here's a problem I encountered while doing tropical computations:

```ring r=integer,(t,a,b,c,d,e,f,g,h,i,j),ws(1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1);
ideal inI=
3,
gh+2fi+ej,
dh+2ci+bj,
df+2cg+aj,
de+2bg+ai,
ce+2bf+ah;
// std(inI); <- not sure if it terminates, but if it does, it takes a very long time
```

However, inI is already a standard basis:

```ring s=3,(t,a,b,c,d,e,f,g,h,i,j),ws(1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1);
ideal inI=
3,
gh+2fi+ej,
dh+2ci+bj,
df+2cg+aj,
de+2bg+ai,
ce+2bf+ah;
std(inI); // == I apart from the 3 vanishing and +2 changing to -1
```

### comment:1 Changed 10 years ago by ren

Priority: critical → blocker

### comment:2 Changed 10 years ago by ren

Here is a similar issue, which appeared in my work:

```ren@mandelbrot:~/Sources/Singular\$ Singular
SINGULAR                                 /  Development
A Computer Algebra System for Polynomial Computations       /   version 4.0.0
0<
by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann     \   Dec 2013
FB Mathematik der Universitaet, D-67653 Kaiserslautern        \
> ring r = 0,(t,x(1..4)),ws(1,-1,-1,-1,-1);
> ideal I =
. 2*x(1)^2+3*x(1)*x(2)+24*x(3)*x(4),
. 8*x(1)^3+x(2)*x(3)*x(4)+18*x(3)^2*x(4);
> I = std(I);
> ring s = integer,(t,x(1..4)),ws(1,-1,-1,-1,-1);
> ideal I = fetch(r,I);
> ideal J = I,2-t;
> std(J); // doesn't terminate or at least takes very long
```

LM(I) should be generated by the leading monomials of the specified generating system and for J we should have LT(J) = <2> + LM(I).

So if you were to discard the generators of J whose leading term is divisible by 2 and make the remaining generatos have leading coefficient 1 with the help of 2-t, then that would already yield a standard basis.

### comment:3 Changed 10 years ago by Oleksandr

Owner: changed from somebody to popescu

### comment:4 Changed 10 years ago by Oleksandr

Owner: changed from popescu to apopescu

### comment:5 Changed 10 years ago by Oleksandr

Owner: changed from apopescu to Popescu

### comment:6 Changed 10 years ago by Oleksandr

Owner: changed from Popescu to popescu@…

### comment:7 Changed 10 years ago by ren

Another similar issue: This time, std(I) terminates, but std(std(I)) doesn't.

```                     SINGULAR                                 /  Development
A Computer Algebra System for Polynomial Computations       /   version 4.0.0
0<
by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann     \   Dec 2013
FB Mathematik der Universitaet, D-67653 Kaiserslautern        \
// ** executing /home/ren/Sources/Singular/LIB/.singularrc
> ring r = integer,(t,x(1..4)),ws(1,-1,-11,-3,-19);
> ideal I = 3-t, 8*t*x(3)*x(4)+t*x(1)*x(2)+2*x(1)^2,
. t*x(1)*x(2)^2+2*x(1)^2*x(2)+2*t^3*x(1)*x(2)*x(3)-192*x(1)^3+4*t^2*x(1)^2*x(3);
> I = std(I); // works fine
> I = std(I); // doesn't finish
```

### comment:8 Changed 9 years ago by hannes

Resolution: → fixed new → closed

fixed with 67e0dc31cecb425433f640594911fc9df2b15076 test in New/stdZtests.tst

Note: See TracTickets for help on using tickets.