#20284: A class to manage embedding between non-prime fields
-------------------------------------+-------------------------------------
       Reporter:  dlucas             |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-7.2
      Component:  finite rings       |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  David Lucas        |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/dlucas/field_embedding           |  49cebeef342bec6763892c3d9d1029b94f852867
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by jsrn):

 Just to be precise: Sage already supports embedding a small field
 `GF(p^s)` into a larger one `GF(p^(sm))` (by using `Fsmall.extension(m,
 map=True)`). It also supports the inverse map (returned by the `section()`
 method on the embedding map).

 The new functionality of this ticket is to support representing any
 `GF(p^(sm))` element in a basis over `GF(p^s)`. AFAIK, the current
 implementation supports this with only one particular choice of bases: if
 `1, beta, ..., beta^(sm-1)` is the basis of `GF(p^(sm))` that Sage
 currently uses natively, then it is always the case that `1, beta, ...,
 beta^(m-1)` is a basis of `GF(p^(sm))` over `GF(p^s)`. This is the basis
 employed by the current ticket.

 More precisely, it gives a function that takes an element `e` in
 `GF(p^(sm))` and returns a vector `(v[0],...,v[m-1]) in GF(p^s)^m`, such
 that

 {{{
     e = sum_{i=0}^{m-1} phi(v[i]) * beta^i
 }}}

 where `phi` is a given embedding from `GF(p^s)` into `GF(p^(sm))`.

 Best,
 Johan

--
Ticket URL: <http://trac.sagemath.org/ticket/20284#comment:4>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to