Module finite_field_givaro
File: sage/rings/finite_field_givaro.pyx (starting at line 1)
Finite Extension Fields of cardinality up to $2^{16}$
SAGE includes the Givaro finite field library, for highly optimized
arithmetic in finite fields.
NOTES: The arithmetic is performed by the Givaro C++ library which
uses Zech logs internally to represent finite field elements. This
implementation is the default finite extension field implementation in
SAGE for the cardinality $< 2^{16}$, as it is vastly faster than the
PARI implementation which uses polynomials to represent finite field
elements. Some functionality in this class however is implemented
using the PARI implementation.
EXAMPLES:
sage: k = GF(5); type(k)
<class 'sage.rings.finite_field_prime_modn.FiniteField_prime_modn'>
sage: k = GF(5^2,'c'); type(k)
<type 'sage.rings.finite_field_givaro.FiniteField_givaro'>
sage: k = GF(2^16,'c'); type(k)
<type 'sage.rings.finite_field_ntl_gf2e.FiniteField_ntl_gf2e'>
sage: k = GF(3^16,'c'); type(k)
<class 'sage.rings.finite_field_ext_pari.FiniteField_ext_pari'>
sage: n = previous_prime_power(2^16 - 1)
sage: while is_prime(n):
... n = previous_prime_power(n)
sage: factor(n)
251^2
sage: k = GF(n,'c'); type(k)
<type 'sage.rings.finite_field_givaro.FiniteField_givaro'>
AUTHORS:
-- Martin Albrecht <malb@informatik.uni-bremen.de> (2006-06-05)
-- William Stein (2006-12-07): editing, lots of docs, etc.
-- Robert Bradshaw (2007-05-23): is_square/sqrt, pow.
|
|
pari = Interface to the PARI C library
|
unpickle_FiniteField_givaro(...)
|
|
File: sage/rings/finite_field_givaro.pyx (starting at line 1056)
EXAMPLE:
sage: k = GF(3**7, 'a')
sage: loads(dumps(k)) == k # indirect doctest
True
|
unpickle_FiniteField_givaroElement(...)
|
|
File: sage/rings/finite_field_givaro.pyx (starting at line 2033)
EXAMPLE:
sage: k = GF(3**4, 'a')
sage: e = k.random_element()
sage: loads(dumps(e)) == e # indirect doctest
True
|