#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.

Reply via email to