NZMATH
1.2.0
About: NZMATH is a Python based number theory oriented calculation system.
![]() ![]() |
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 | |
finite fields.
|
private |
Find root of the defining polynomial of f_q1 in f_q2
Definition at line 889 of file finitefield.py.
References nzmath.finitefield.affine_multiple_method(), nzmath.compatibility.card(), and nzmath.bigrange.range().
Referenced by nzmath.finitefield.embedding().
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.
References nzmath.compatibility.card(), nzmath.arith1.inverse(), and nzmath.bigrange.range().
Referenced by nzmath.finitefield._findroot().
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.
References nzmath.finitefield.embedding(), and nzmath.finitefield.FiniteExtendedField().
Referenced by nzmath.finitefield.ExtendedFieldElement._op().
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.
References nzmath.finitefield._findroot(), nzmath.compatibility.card(), and nzmath.finitefield.fqiso().
Referenced by nzmath.finitefield.double_embeddings().
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().
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().
|
private |
Definition at line 21 of file finitefield.py.
nzmath.finitefield.FiniteExtendedFieldElement = ExtendedFieldElement |
Definition at line 1006 of file finitefield.py.
nzmath.finitefield.FinitePrimeFieldPolynomial = uniutil.FinitePrimeFieldPolynomial |
Definition at line 358 of file finitefield.py.