Subject: computing generating elements of ZZ_p^* ?
From: Oliver Kullmann
Date: Fri, 25 Nov 2011 22:24:04 +0000
On Tue, Nov 22, 2011 at 11:27:40AM -0700, Robert Dodier wrote:
> On 10/22/11, Oliver Kullmann <O.Kullmann at swansea.ac.uk> wrote:
> > Hi Robert,
> >
> > unfortunately that package "gf" hasn't been updated for quite
> > some time now, and quite a few of its functions are broken:
> >
> > load(gf);
> > gf_set(131);
> > gf_findprim();
> >
> > fasttimes: arguments must be CRE polynomials with same variables.
> > #0: gf_binpower(p=x,n=131)(gf.mac line 244)
> > #1: mainpowers()(gf.mac line 346)
> > #2: gf_findprim()(gf.mac line 438)
> > -- an error. To debug this try: debugmode(true);
> >
> > So finding primitive elements is broken (at least with the
> > default settings).
>
> Hmm. I see that gf can run its own test cases (gf_test and gf_hard_test)
> so it's not completely broken.
>
sure, I actually hope that only some small things are broken.
> Looks like gf_set(p) and gf_set(p, m(x)) are handled differently.
> Help me understand what to expect from gf_findprim.
> In the absence of a polynomial m(x) supplied to gf_set,
> what should gf_findprim return?
>
The default value should be m(x)=x, so we get ZZ_p, the field of
arithmetic modulo p. Then gf_findprim should just return a primitive
root modulo p.
> Is there a meaningful default value for m(x) so that gf_set(p)
> then calls gf_set(p, <suitable m(x)>) ?
>
Yes, m(x) = x.
Oliver