John Cremona on Tue, 17 Jun 2014 15:26:10 +0200


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

Re: precision problem in nffactor


Thanks, Karim!

Am I right in thinking that there is no issquare() function for number
field elements (or a sqrt() function similarly)?

John

On 17 June 2014 12:33, Karim Belabas <Karim.Belabas@math.u-bordeaux.fr> wrote:
> * John Cremona [2014-06-17 10:27]:
>> In 2.7.1 I see this:
>>
>> ? nffactor(nfinit(y^2 - 22), Mod(1, y^2 - 22)*x^2 +
>> Mod(926246528884912528275985458927067632*y -
>> 4344481316563541186659879867597013188, y^2 - 22))
>>   ***   at top-level: nffactor(nfinit(y^2-
>>   ***                 ^--------------------
>>   *** nffactor: the PARI stack overflows !
>>   current stack size: 8000000 (7.629 Mbytes)
>>   [hint] you can increase GP stack with allocatemem()
>>
>> but increasing the precision makes the problem go away:
> [...]
>> so it does not seem like a memory issue at all.  Surely with exact
>> input and output the user should not have to think about internal
>> working precision?
>
> Not a memory issue indeed. The low-level function from the polroots
> module that (sharply) estimates the largest modulus of a polynomial
> T can't handle the case T(0) = 0 (nor the case where T is constant,
> but that's not the issue here...).
>
> It never occurs in the original context of polroots(), but it can occur
> in the context of nfroots / nffactor that call it with T := the image
> through the successive complex embeddings of our algebraic polynomial.
>
> Fixed in master (2.8.*). Thanks for your report !
>
> Cheers,
>
>     K.B.
>
> P.S.
>> This arose while computing the torsion subgroup of an elliptic curve
>> over Q(sqrt(22)) [...]
>
> I'll soon commit the code corresponding to this :-) (written by F. Brunault
> and B. Banwait during the Atelier, last January)
>
> --
> Karim Belabas, IMB (UMR 5251)  Tel: (+33) (0)5 40 00 26 17
> Universite Bordeaux 1          Fax: (+33) (0)5 40 00 69 50
> 351, cours de la Liberation    http://www.math.u-bordeaux1.fr/~kbelabas/
> F-33405 Talence (France)       http://pari.math.u-bordeaux1.fr/  [PARI/GP]
> `