Opened 13 years ago

Closed 12 years ago

#356 closed bug (fixed)

Crash with std in char 62003 (prime) and alg extension

Reported by: gorzel Owned by: hannes
Priority: major Milestone: 3-1-4 and higher
Component: singular-kernel Version: 3-1-3
Keywords: rational function field Cc:

Description

The local Milnor number should be 134 but the std computation crashes:

> ring r62003 = (62003,T),(x,y),ds;
> minpoly = T3+27134T2+12T+8;
> poly f = x8+8*x7y2+6*x7y3+28*x6y4+40*x6y5+56*x5y6+15*x6y6+114*x5y7+70*x4y8+80*x5y8+180*x4y9+56*x3y10+20*x5y9+175*x4y10+170*x3y11+28*x2y12+80*x4y11+200*x3y12+96*x2y13+8*xy14+15*x4y12+122*x3y13+125*x2y14+30*xy15+y16+40*x3y14+84*x2y15+40*xy16+4*y17+6*x3y15+35*x2y16+22*xy17+5*y18+8*x2y17+8*xy18+x2y18+2*xy19+(-T-3)*y20;
> ideal J = jacob(f);
> option(prot);
> std(J);
[65535:2]19ss20.21s23.24s26.27.28s29.30.31s33.34.35s36.37.38sSingular : signal 11 (v: 3132/ 14363 ):
current line:>> std(J);<<
Segment fault/Bus error occurred at 819dbab because of 4 (r:1313068526)
please inform the authors
trying to restart...

As far as I know, the characteristic is no longer limited to 32003. Note that the given minpoly is indeed irreducible:

> prime(62003);
62003
> ring RT = 62003,T,dp;
> poly f = (T3+27134T2+12T+8);
> factorize (f);
[1]:
   _[1]=1
   _[2]=T3+27134T2+12T+8
[2]:
   1,1
> sqrfree(f);
_[1]=T3+27134T2+12T+8

Is rational function field indeed the right Keyword here?

Change History (4)

comment:1 Changed 13 years ago by hannes

Owner: changed from Oleksandr to somebody

comment:2 Changed 12 years ago by steidel

Owner: changed from somebody to hannes

comment:3 Changed 12 years ago by gorzel

With Singular's latest version

Singular for ix86-Linux version 3-1-3 (3133- 14465 )  Dec 15 2011 04:48:30
        factory(@(#) factoryVersion = 3.1.3),libfac(3.1.3,March 2011),
        GMP(4.3),NTL(5.5.2),MP(1.1.2.1),32bit,static readline,Plural,DBM,
        dynamic modules,OM_NDEBUG,random=1323962854

this special seems to be fixed, yet there are still problems this polynomial.

Hence here the full version to compute the std in different prime characteristics:

proc testbcstd(int p) 
{
 ring rpT  = p,T,dp;
 basering;
 "16T3+123T2+192T+128";
 poly f = 16T3+123T2+192T+128;
 f;
 factorize(f);

 ring rpTxy = (p,T),(x,y),ds;
 minpoly =  16T3+123T2+192T+128;
 basering;
 option(prot);
 poly f = -T*x20-3x20+2x19y+x18y2+8x18y+8x17y2+5x18+22x17y+35x16y2+6x15y3+4x17+40x16y+84x15y2+40x14y3+x16+30x15y+125x14y2+122x13y3+15x12y4+8x14y+96x13y2+200x12y3+80x11y4+28x12y2+170x11y3+175x10y4+20x9y5+56x10y3+180x9y4+80x8y5+70x8y4+114x7y5+15x6y6+56x6y5+40x5y6+28x4y6+6x3y7+8x2y7+y8;
f;
 ideal I = std(jacob(f)); // 134
 vdim(I);

  "  -- flipped variables -- ";
 ring rpTyx = (p,T),(y,x),ds;
 minpoly =  16T3+123T2+192T+128;
 basering;
 poly f = -T*x20-3x20+2x19y+x18y2+8x18y+8x17y2+5x18+22x17y+35x16y2+6x15y3+4x17+40x16y+84x15y2+40x14y3+x16+30x15y+125x14y2+122x13y3+15x12y4+8x14y+96x13y2+200x12y3+80x11y4+28x12y2+170x11y3+175x10y4+20x9y5+56x10y3+180x9y4+80x8y5+70x8y4+114x7y5+15x6y6+56x6y5+40x5y6+28x4y6+6x3y7+8x2y7+y8;
f;
 ideal I = std(jacob(f)); // 134
 vdim(I);
// poly g = substitute(f,maxideal(1),ideal(y,x));
// vdim(std(jacob(g))); // should again be 134
}

The strange thing is that problems occur if the variables are flipped.

Formely with

 Singular for ix86-Linux version 3-1-3 (3132- 14243 )  May 25 2011 04:12:45
        factory(@(#) factoryVersion = 3.1.3),libfac(3.1.3,March 2011),
        GMP(4.3),NTL(5.5.2),MP(1.1.2.1)

I got crashes for the second case, i.e. variables y,x instead of x,y

in char > 32003 e.g. testbcstd(62003), testbcstd(52999) etc.

This seems to be cured but there are still problems in char p = 353.

Then I still receive as in Singular 311, 312 the message

 > testbcstd(353);

 ? zero divisor found - your minpoly is not irreducible
 ? zero divisor found - your minpoly is not irreducible

while in Singular 3-1-3-2 I got (the less informative message)

 [65535:2]19ss20.21s23.24s26.27.28s29.30.31s33.34.35s36  
   ? x is not invertible modulo c(2)
   ? x is not invertible modulo c(2)
Last edited 12 years ago by gorzel (previous) (diff)

comment:4 Changed 12 years ago by hannes

Resolution: fixed
Status: newclosed

The test polynomial is reducible in char 353:

16T3+123T2-161T+128=16*(T2+170T+27)*(T-52)

Now: no crash, but a lot of messges like: ? zero divisor found - your minpoly is not irreducible

Note: See TracTickets for help on using tickets.