| Karim BELABAS on Wed, 17 Mar 1999 16:06:30 +0100 (MET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: another factorff() bug? |
[Igor:]
> the following hits what appears to be an infinite loop:
>
> factorff(x^3-x-1,11,y^2-y-1)
Bad input.
(15:59) gp > factormod(y^2-y-1, 11)
%1 =
[Mod(1, 11)*y + Mod(3, 11) 1]
[Mod(1, 11)*y + Mod(7, 11) 1]
factorff doesn't know how to factor over etale algebras. It assumes it is
working over a field.
>From the help:
factorization in the field F_q defined by the irreducible polynomial a
^^^^^^^^^^^
over F_p
> Also, I noticed this:
>
> ? ffinit(nextprime(2^31),2)
> *** impossible assignment I-->S
>
> I would guess the C-int limit on primes in ffinit() and factorff() is
> there on purpose, but I don't see it mentioned anywhere in the manual.
I added a note there. After the following cosmetic patch, one gets:
(16:02) gp > ffinit(nextprime(2^32), 2)
*** prime field too big in ffinit.
Karim.
*** src/modules/subfield.c.orig Fri Mar 5 08:52:43 1999
--- src/modules/subfield.c Wed Mar 17 15:39:48 1999
***************
*** 794,799 ****
--- 794,800 ----
GEN pol,fpol;
if (n<=0) err(talker,"non positive degree in ffinit");
+ if (is_bigint(p)) err(talker,"prime field too big in ffinit");
if (v<0) v = 0;
av=avma; pp=itos(p); pol = cgetg(n+3,t_POL);
pol[1] = evalsigne(1)|evalvarn(v)|evallgef(n+3);
--
Karim Belabas email: Karim.Belabas@math.u-psud.fr
Dep. de Mathematiques, Bat. 425
Universite Paris-Sud Tel: (00 33) 1 69 15 57 48
F-91405 Orsay (France) Fax: (00 33) 1 69 15 60 19
--
PARI/GP Home Page: http://hasse.mathematik.tu-muenchen.de/ntsw/pari/