NZMATH  1.2.0 About: NZMATH is a Python based number theory oriented calculation system.   Fossies Dox: NZMATH-1.2.0.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)
nzmath.finitefield Namespace Reference

## Classes

class  ExtendedField

class  ExtendedFieldElement

class  FiniteField

class  FiniteFieldElement

class  FinitePrimeField

class  FinitePrimeFieldElement

## Functions

def fqiso (f_q, gfq)

def embedding (f_q1, f_q2)

def double_embeddings (f_q1, f_q2)

def _findroot (f_q1, f_q2, f_q2_subgen)

def affine_multiple_method (lhs, field)

def FiniteExtendedField (characteristic, n_or_modulus)

## Variables

_log = logging.getLogger('nzmath.finitefield')

FinitePrimeFieldPolynomial = uniutil.FinitePrimeFieldPolynomial

FiniteExtendedFieldElement = ExtendedFieldElement

## Detailed Description

finite fields.


## ◆ _findroot()

 def nzmath.finitefield._findroot ( f_q1, f_q2, f_q2_subgen )
private
Find root of the defining polynomial of f_q1 in f_q2


Definition at line 889 of file finitefield.py.

Referenced by nzmath.finitefield.embedding().

## ◆ affine_multiple_method()

 def nzmath.finitefield.affine_multiple_method ( lhs, field )
Find and return a root of the equation lhs = 0 by brute force
search in the given field.  If there is no root in the field,
ValueError is raised.

The first argument lhs is a univariate polynomial with
coefficients in a finite field.  The second argument field is
an extension field of the field of coefficients of lhs.

Affine multiple A(X) is $\sum_{i=0}^{n} a_i X^{q^i} - a$ for some
a_i's and a in the coefficient field of lhs, which is a multiple
of the lhs.


Definition at line 904 of file finitefield.py.

Referenced by nzmath.finitefield._findroot().

## ◆ double_embeddings()

 def nzmath.finitefield.double_embeddings ( f_q1, f_q2 )
Return embedding homomorphism functions from f_q1 and f_q2
to the composite field.


Definition at line 871 of file finitefield.py.

Referenced by nzmath.finitefield.ExtendedFieldElement._op().

## ◆ embedding()

 def nzmath.finitefield.embedding ( f_q1, f_q2 )
Return embedding homomorphism function from f_q1 to f_q2,
where q1 = p ** k1, q2 = p ** k2 and k1 divides k2.


Definition at line 839 of file finitefield.py.

Referenced by nzmath.finitefield.double_embeddings().

## ◆ FiniteExtendedField()

 def nzmath.finitefield.FiniteExtendedField ( characteristic, n_or_modulus )
Return ExtendedField F_{p^n} or F_p[]/(modulus).

This is a convenience wrapper for backward compatibility.


Definition at line 998 of file finitefield.py.

Referenced by nzmath.finitefield.double_embeddings().

## ◆ fqiso()

 def nzmath.finitefield.fqiso ( f_q, gfq )
Return isomorphism function of extended finite fields from f_q to gfq.


Definition at line 807 of file finitefield.py.

References nzmath.compatibility.card().

Referenced by nzmath.finitefield.embedding().

## ◆ _log

 nzmath.finitefield._log = logging.getLogger('nzmath.finitefield')
private

Definition at line 21 of file finitefield.py.

## ◆ FiniteExtendedFieldElement

 nzmath.finitefield.FiniteExtendedFieldElement = ExtendedFieldElement

Definition at line 1006 of file finitefield.py.

## ◆ FinitePrimeFieldPolynomial

 nzmath.finitefield.FinitePrimeFieldPolynomial = uniutil.FinitePrimeFieldPolynomial

Definition at line 358 of file finitefield.py.