Luis Felipe Tabera Alonso on Wed, 15 Dec 2010 19:41:38 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

weird behaviour of rnfequation


Hi all,

I have encounter the following behaviour in pari with the version that comes 
with sage. I have confirmed that this happens in pari/gp stable as released by 
Debian (2.3.5) and with the development version downloaded from the web (2.4.3 
(alpha)), both 64 bits.

The problem is the following, I have the following dummy rnfequation:

? f = (y^17-1)/(y-1);
? g = Mod(1,f)*x+Mod(y^6,f);                                                                       
? rnfequation(f,g,1);                                                                 
  *** rnfequation: the PARI stack overflows !                                                         
  current stack size: 8000000 (7.629 Mbytes)
  [hint] you can increase GP stack with allocatemem()
? allocatemem()                                                                                       
  *** allocatemem: Warning: doubling stack size; new stack = 16000000 (15.259 
Mbytes).                
? allocatemem()                                                                                       
  *** allocatemem: Warning: doubling stack size; new stack = 32000000 (30.518 
Mbytes).                
? allocatemem()                                                                                       
  *** allocatemem: Warning: doubling stack size; new stack = 64000000 (61.035 
Mbytes).                
? rnfequation(f,g,1);
  *** rnfequation: not enough precomputed primes
? default(primelimit,10^9);
? rnfequation(f,g,1)
  *** rnfequation: the PARI stack overflows !                                                         
  current stack size: 64000000 (61.035 Mbytes)
  [hint] you can increase GP stack with allocatemem()


It works as expected and instantaneously for every Mod(1,f)*x+Mod(y^i,f) 
except for i=6 and i=11, this is weird. 

If the flag is zero, the expected result is returned

? f = (y^17-1)/(y-1);
? g = Mod(1,f)*x+Mod(y^6,f);                                                                          
? rnfequation(f,g,0)                                                                                  
%3 = x^16 - x^15 + x^14 - x^13 + x^12 - x^11 + x^10 - x^9 + x^8 - x^7 + x^6 - 
x^5 + x^4 - x^3 + x^2 - x + 1

I understand that rnfequation may fail for complicated/large fields, but this 
example seems easy enough to be able to finish computations. Specially if it 
works for other roots of unity in the same field and they are all primitive.

Is this a bug or this result is plausible?

Best regards,

Luis