Opened 8 years ago

Closed 7 years ago

#636 closed bug (fixed)

std over integers in local ordering

Reported by: ren Owned by: popescu@…
Priority: blocker Milestone: 4-1-0 and higher
Component: dontKnow Version: 4-0-0
Keywords: Cc:

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

Change History (8)

comment:1 Changed 8 years ago by ren

Priority: criticalblocker

comment:2 Changed 8 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 8 years ago by Oleksandr

Owner: changed from somebody to popescu

Adi, could you please take a look?

comment:4 Changed 8 years ago by Oleksandr

Owner: changed from popescu to apopescu

comment:5 Changed 8 years ago by Oleksandr

Owner: changed from apopescu to Popescu

comment:6 Changed 8 years ago by Oleksandr

Owner: changed from Popescu to popescu@…

comment:7 Changed 8 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 7 years ago by hannes

Resolution: fixed
Status: newclosed

fixed with 67e0dc31cecb425433f640594911fc9df2b15076 test in New/stdZtests.tst

Note: See TracTickets for help on using tickets.