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