#16934: Fix factory keys for finite fields to avoid repeated construction
-------------------------------------+-------------------------------------
Reporter: jdemeyer | Owner:
Type: defect | Status: positive_review
Priority: major | Milestone: sage-6.4
Component: finite rings | Resolution:
Keywords: | Merged in:
Authors: Peter Bruin | Reviewers: Jeroen Demeyer
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/pbruin/16934-FiniteField_factory_key|
9cbdcde41b4783e7adf3f56451b9dedd36842f1d
Dependencies: #16930 | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by jdemeyer):
Replying to [comment:28 nbruin]:
> Replying to [comment:24 jdemeyer]:
> > My vision for this "modulus" argument is that the following should
assign to `a` a primitive root:
> > {{{
> > sage: K.<a> = GF(7, modulus='primitive')
> > }}}
>
> The word "modulus" here is definitely wrong. If anything is a modulus
for `GF(7)`, it is 7, because the natural way to construct `GF(7)` as
''quotient'' of `ZZ` by `7ZZ`.
Depends on how you look at it. For me, there is a big philosophical
difference between `IntegerModRing(p)` and `GF(p)`. I see
`IntegerModRing(m)` as `ZZ/(m)`, while `GF(p^n)` is
`IntegerModRing(p)[x]/(f(x))` for an irreducible polynomial `f(x)` of
degree `n`.
For fields `GF(p^n)` (n > 1), the word "modulus" for `f(x)` is certainly
more standard than "generator". For me, the "generator" is the image of
`x` in `GF(p^n) = IntegerModRing(p)[x]/(f(x))`, which is returned by the
`gen()` method.
--
Ticket URL: <http://trac.sagemath.org/ticket/16934#comment:29>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.