Paul van Wamelen on Sat, 18 May 2002 10:46:37 -0500 (CDT) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: question about finite fields,please help me!!! |
On Fri, 17 May 2002, UMBERTO COVA wrote: > First of all,thanks for your help! > I need to know how I can determine a generator of a finite field using Pari;is there a specific function that builds a primitive polynomial of degree n over a field Fp(something similar to ffinit)? I don't believe anything is built-in but the following code will do what you want: \\ This finds a random primitive element in the finite field with p^n \\ elements ranffinitprim(p,n) = { local(ffp,dum,dn,dum2); ffp = ffinit(p,n,x); dum = factor(p^n-1)[,1]; while(1, dn = 1; dum2 = Mod(sum(i=1,n,Mod(random(),p)*x^(i-1)),ffp); for(i=1,length(dum), if(lift(lift(dum2^((p^n-1)/dum[i])))==1,dn=0)); if(dum2 == Mod(0,ffp),, if(dn == 1,return(dum2)))) } > Futhermore,how can I realize a modular exponentiation of a polynomial (f(x))^a (mod g(x)) without problems of overflow and in a reasonable time? > If you do Mod(f(x),g(x))^a instead of Mod(f(x)^a,g(x)) the *right thing* happens automatically. Enjoy! Paul van Wamelen