Search for Primitive Trinomials (mod 2)
See my
old trinomial page for an introduction
to trinomials over GF(2) and some history.
For a summary and the history of the search, see
The Great Trinomial Hunt.
A summary of the primitive trinomials for known Mersenne exponents
is here.
Certificates
A certificate is simply a list of smallest irreducible factors for
trinomials of given degree r. In our certificates the factors are
encoded in hexadecimal.
Certificates are available for degrees
1279,
2281,
3217,
4423,
9689,
19937,
23209,
44497,
110503,
132049,
756839,
859433,
3021377,
6972593,
24036583,
25964951,
30402457,
32582657,
42643801,
43112609,
57885161,
74207281.
More details are available
here.
How to check a certificate?
First download the certificate, uncompress it (gunzip ixxx.log-ext.gz),
download the check.magma program,
replace the value of r and the file name in the first lines,
then start Magma and type:
magma check.magma;
Alternatively, download the
check-ntl.c file,
compile it with NTL, and run check-ntl 32582657 < i32582657.log-ext
(for example). The check-ntl program is much faster for large exponents than
the check.magma program.
Status of new Mersenne exponents
Status of new Mersenne
exponents (those larger than 6972593):
- r=13466917 (M39): ruled out by Swan theorem since r=5 (mod 8), and
x^r+x^2+1 is divisible by x^2+x+1.
- r=20996011 (M40): ruled out by Swan theorem since r=3 (mod 8), and
x^r+x^2+1 is divisible by x^2+x+1.
- r=24036583 (M41): search started on April 25, 2007,
completed on August 27, 2007: there are exactly two primitive trinomials
(with their reciprocal) which have been checked by Allan Steel using
Magma:
x24036583 + x8785528 + 1
(Judy-anne),
x24036583 + x8412642 + 1
(Eugénie),
- r=25964951 (M42): search started on July 19, 2007,
completed on November 3, 2007: there are exactly four primitive trinomials
(with their reciprocal) which have been checked by Allan Steel using
Magma:
x25964951 + x880890 + 1 (T25a),
x25964951 + x4627670 + 1 (T25b),
x25964951 + x4830131 + 1 (T25c),
x25964951 + x6383880 + 1
(Nancy).
- r=30402457 (M43?): search started on October 22, 2007, completed on
December 12, 2007: there is exactly one primitive trinomial (with its
reciprocal), which has been checked by Allan Steel using Magma:
x30402457 + x2162059 + 1 (Florence).
- r=32582657 (M44?): search started on November 30, 2007, completed on
January 24, 2008: there are exactly three primitive trinomials (with
their reciprocals), which have been checked by Allan Steel using Magma:
x32582657 + x5110722 + 1 (Priscilla),
x32582657 + x5552421 + 1 (T32b),
x32582657 + x7545455 + 1 (T33c).
- r=37156667 (M45?): ruled out by Swan's theorem since r=3 mod 8, and
x^r+x^2+1 is divisible by x^5+x^2+1.
- r=42643801 (M46?): search started on June 18, 2009,
completed 31 August 2009.
Five primitive trinomials found -
x42643801 + x55981 + 1, (T42a)
x42643801 + x3706066 + 1, (T42b)
x42643801 + x3896488 + 1, (T42c)
x42643801 + x12899278 + 1, (T42d)
x42643801 + x20150445 + 1. (T42e)
- r=43112609 (M47?): search started on September 18, 2008,
completed 8 May 2009.
Four primitive trinomials found -
x43112609 + x3569337 + 1, (T43a)
x43112609 + x4463337 + 1, (T43b)
x43112609 + x17212521 + 1, (T43c)
x43112609 + x21078848 + 1. (T43d)
- r=57885161 (M48?): search started on 9 February 2013,
completed 13 May 2013 (with assistance from Bill Hart and Alex Kruppa).
No primitive trinomials found
- r=74207281 (M49?): search started on 25 January 2016,
completed 25 March 2016.
Three primitive trinomials found -
x74207281 + x9156813 + 1, (T44a)
x74207281 + x9999621 + 1, (T44b)
x74207281 + x30684570 + 1. (T44c)
Software
- Download the gf2x package.
gf2x is a C/C++ software package containing routines for fast
arithmetic in GF(2)[x] (multiplication, squaring, GCD)
and searching for irreducible/primitive trinomials.
- Download
irred-ntl-1.9.
This is a patch for NTL,
(version 5.3.1 or 5.3.2), which speeds up the multiplication
over GF(2)[x], in particular by implementing Toom-Cook's 3-way
algorithm.
With NTL 5.4, download
irred-ntl-1.9-5.4.
These files are distributed under the terms of the
GNU General Public
License.
Further Information
A paper is available here.
See my
old trinomial page for some history,
and also
Paul Zimmermann's page.
Richard Brent (in collaboration with Paul Zimmermann,
with CPU cycles contributed by Dan Bernstein, Bill Hart and Tanja Lange)
Last revised 4 April 2016.
Return to Richard Brent's index page