This is ConwayPolynomials.info, produced by Macaulay2, version 1.26.06

ConwayPolynomials -- database of Conway polynomials for use with GF
*******************************************************************

Description
===========

ConwayPolynomials is a package that provides a database of Conway polynomials.
A Conway polynomial for a prime p and an exponent n is a particular monic
polynomial whose roots are primitive elements of a finite field with p^n
elements.  They can take a very long time to compute, so the package comes with
just a publicly available database of Conway polynomials provided by Frank
Luebeck.

After the package is loaded, the function GF (Macaulay2Doc) will
return Galois fields presented by Conway polynomials, provided they are in the
table.  Moreover, map (Macaulay2Doc) can be used to produce the
canonical maps between Conway Galois fields.

The package is loaded by default when Macaulay2 starts up.  The database is
loaded the first time conwayPolynomial is called,
resulting in a brief pause.

In this example, we show how GF (Macaulay2Doc) and map (Macaulay2Doc)
behave when the package is present.

+-----------------------------------------------------------+
|i1 : GF 125                                                |
|                                                           |
|o1 = GF 125                                                |
|                                                           |
|o1 : GaloisField                                           |
+-----------------------------------------------------------+
|i2 : ambient oo                                            |
|                                                           |
|        ZZ                                                 |
|        --[a]                                              |
|         5                                                 |
|o2 = -----------                                           |
|      3                                                    |
|     a  - 2a - 2                                           |
|                                                           |
|o2 : QuotientRing                                          |
+-----------------------------------------------------------+
|i3 : map(GF 125^2, GF 125)                                 |
|                                                           |
|                                5    4    3    2           |
|o3 = map (GF 15625, GF 125, {- a  + a  - a  - a  - 2a - 2})|
|                                                           |
|o3 : RingMap GF 15625 <-- GF 125                           |
+-----------------------------------------------------------+
|i4 : isWellDefined oo                                      |
|                                                           |
|o4 = true                                                  |
+-----------------------------------------------------------+

Author
======

  * Daniel R. Grayson <dan@math.uiuc.edu>

Version
=======

This documentation describes version 1.0 of ConwayPolynomials, released October
23, 2008.

Citation
========

If you have used this package in your research, please cite it as follows:

+-----------------------------------------------------------------------------+
|@misc{ConwayPolynomialsSource,                                               |
|  title = {{ConwayPolynomials: a database of Conway polynomials.             |
|  author = {Daniel R. Grayson},                                              |
|  howpublished = {A \emph{Macaulay2} package available at                    |
|    "http://www.math.uiuc.edu/~dan/"}                                        |
|}                                                                            |
|-----------------------------------------------------------------------------|
|Version~1.0}},                                                               |
+-----------------------------------------------------------------------------+

Exports
=======

  * Functions and commands
      * conwayPolynomial -- provide a Conway
        polynomial
  * Methods
      * "conwayPolynomial(ZZ)" -- see conwayPolynomial
        -- provide a Conway polynomial
      * "conwayPolynomial(ZZ,ZZ)" -- see conwayPolynomial
        -- provide a Conway polynomial
      * map(GaloisField,GaloisField)
        -- maps of Conway Galois fields

For the programmer
==================

The object ConwayPolynomials is a package (Macaulay2Doc),
defined in ConwayPolynomials.m2.

-------------------------------------------------------------------------------

The source of this document is in ConwayPolynomials.m2:71:0.

conwayPolynomial -- provide a Conway polynomial
***********************************************

Description
===========

Synopsis
========

  * Usage:
        conwayPolynomial(q,Variable=>a)
  * Inputs:
      * q, an integer (Macaulay2Doc), a power of a prime number
      * a, a symbol (Macaulay2Doc), an optional input, the symbol
        served as variable, default a
  * Outputs:
      * a Conway polynomial whose roots generate a field with q elements
+-------------------------+
|i1 : conwayPolynomial 125|
|                         |
|      3                  |
|o1 = a  - 2a - 2         |
|                         |
|     ZZ                  |
|o1 : --[a]               |
|      5                  |
+-------------------------+

Synopsis
========

  * Usage:
        conwayPolynomial(p,n,Variable=>a)
  * Inputs:
      * p, an integer (Macaulay2Doc), a prime number
      * n, an integer (Macaulay2Doc)
      * a, a symbol (Macaulay2Doc), an optional input, the symbol
        served as variable, default a
  * Outputs:
      * a Conway polynomial whose roots generate a field with p^n elements
+-----------------------------------------------+
|i2 : conwayPolynomial(2,20,Variable=>"b")      |
|                                               |
|      20    10    9    7    6    5    4        |
|o2 = b   + b   + b  + b  + b  + b  + b  + b + 1|
|                                               |
|     ZZ                                        |
|o2 : --[b]                                     |
|      2                                        |
+-----------------------------------------------+

Ways to use conwayPolynomial:
=============================

  * "conwayPolynomial(ZZ)"
  * "conwayPolynomial(ZZ,ZZ)"

For the programmer
==================

The object conwayPolynomial is a method function with options (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ConwayPolynomials.m2:143:0.

map(GaloisField,GaloisField) -- maps of Conway Galois fields
************************************************************

  * Function: map (Macaulay2Doc)
  * Usage:
        phi = map(F,G)
  * Inputs:
      * F, a Galois field (Macaulay2Doc)
      * G, a Galois field (Macaulay2Doc)
  * Optional inputs (Macaulay2Doc):
      * Degree (Macaulay2Doc) =>
        ..., default value null,
      * DegreeLift (Macaulay2Doc) => ...,
        default value null,
      * DegreeMap (Macaulay2Doc) => ...,
        default value null,
  * Outputs:
      * a ring map (Macaulay2Doc), the canonical inclusion of G
        into a compatible subfield of F

Description
===========

When ConwayPolynomials is loaded, map(F,G) constructs the canonical map between
compatible Conway-presented finite fields.In this implementation, GF(p^n)
contains GF(p^m) only when m divides n, and both fields must be represented
using Conway polynomials.
+----------------------------+
|i1 : F2 = GF 2              |
|                            |
|o1 = F2                     |
|                            |
|o1 : GaloisField            |
+----------------------------+
|i2 : F4 = GF(2^2)           |
|                            |
|o2 = F4                     |
|                            |
|o2 : GaloisField            |
+----------------------------+
|i3 : F8 = GF(2^3)           |
|                            |
|o3 = F8                     |
|                            |
|o3 : GaloisField            |
+----------------------------+
|i4 : F16 = GF(2^4)          |
|                            |
|o4 = F16                    |
|                            |
|o4 : GaloisField            |
+----------------------------+
|i5 : map(F16, F2)           |
|                            |
|o5 = map (F16, F2, {1})     |
|                            |
|o5 : RingMap F16 <-- F2     |
+----------------------------+
|i6 : map(F16, F4)           |
|                            |
|                     2      |
|o6 = map (F16, F4, {a  + a})|
|                            |
|o6 : RingMap F16 <-- F4     |
+----------------------------+
If no compatible subfield exists, then Macaulay2 signals an error:
+----------------------------------------------------+
|i7 : try map(F16, F8) else "this map does not exist"|
|                                                    |
|o7 = this map does not exist                        |
+----------------------------------------------------+
It is also possible to invoke the generic ring-map constructor with an explicit
image for a generator of the source field:
+-----------------------+
|i8 : map(F16, F4, {1}) |
|                       |
|o8 = map (F16, F4, {1})|
|                       |
|o8 : RingMap F16 <-- F4|
+-----------------------+
Such a map need not be well-defined:
+----------------------------+
|i9 : phi = map(F16, F4, {1})|
|                            |
|o9 = map (F16, F4, {1})     |
|                            |
|o9 : RingMap F16 <-- F4     |
+----------------------------+
|i10 : isWellDefined phi     |
|                            |
|o10 = false                 |
+----------------------------+

See also
========

  * ConwayPolynomials -- a database of Conway polynomials
  * GF (Macaulay2Doc) -- make a finite field
  * isWellDefined (Macaulay2Doc) -- whether a map is well
    defined
  * map(Ring,Ring,List) (Macaulay2Doc) --
    make a ring map

Ways to use this method:
========================

  * map(GaloisField,GaloisField) --
    maps of Conway Galois fields
-------------------------------------------------------------------------------

The source of this document is in ConwayPolynomials.m2:112:0.