| Karim Belabas on Tue, 17 Jun 2014 13:33:46 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: precision problem in nffactor |
* 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]
`