| 1 | initial version |
You instruct SageMath twice to create a finite field with $2^{n}$ elements with a primitive modulus. Effectively, each time this will call GF(2)['x'].irreducible_element(n, algorithm="primitive") to get such a modulus. This uses the Conway polynomial if available, and otherwise calls the ffprimroot function from PARI.
sage: exists_conway_polynomial(2, 151)
True
sage: exists_conway_polynomial(2, 152)
False
When you try out ffprimroot in PARI, you will see it is not deterministic; it returns a random primitive modulus. In total there are
sage: euler_phi(2^152 - 1)/152
18714123470861456900112662172997843377192960
different primitive moduli, so indeed you have a high probability of the comparison returning False.
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.