galois.mersenne_exponents

galois.mersenne_exponents(n=None)[source]

Returns all known Mersenne exponents \(e\) for \(e \le n\).

A Mersenne exponent \(e\) is an exponent of \(2\) such that \(2^e - 1\) is prime.

Parameters

n (int, optional) – The max exponent of 2. The default is None which returns all known Mersenne exponents.

Returns

The list of Mersenne exponents \(e\) for \(e \le n\).

Return type

list

References

Examples

# List all Mersenne exponents for Mersenne primes up to 4000 bits
In [1]: e = galois.mersenne_exponents(4000); e
Out[1]: 
[2,
 3,
 5,
 7,
 13,
 17,
 19,
 31,
 61,
 89,
 107,
 127,
 521,
 607,
 1279,
 2203,
 2281,
 3217]

# Select one Merseene exponent and compute its Mersenne prime
In [2]: p = 2**e[-1] - 1; p
Out[2]: 259117086013202627776246767922441530941818887553125427303974923161874019266586362086201209516800483406550695241733194177441689509238807017410377709597512042313066624082916353517952311186154862265604547691127595848775610568757931191017711408826252153849035830401185072116424747461823031471398340229288074545677907941037288235820705892351068433882986888616658650280927692080339605869308790500409503709875902119018371991620994002568935113136548829739112656797303241986517250116412703509705427773477972349821676443446668383119322540099648994051790241624056519054483690809616061625743042361721863339415852426431208737266591962061753535748892894599629195183082621860853400937932839420261866586142503251450773096274235376822938649407127700846077124211823080804139298087057504713825264571448379371125032081826126566649084251699453951887789613650248405739378594599444335231188280123660406262468609212150349937584782292237144339628858485938215738821232393687046160677362909315071

In [3]: galois.is_prime(p)
Out[3]: True

# Display all known Mersenne exponenets
In [4]: galois.mersenne_exponents()
Out[4]: 
[2,
 3,
 5,
 7,
 13,
 17,
 19,
 31,
 61,
 89,
 107,
 127,
 521,
 607,
 1279,
 2203,
 2281,
 3217,
 4253,
 4423,
 9689,
 9941,
 11213,
 19937,
 21701,
 23209,
 44497,
 86243,
 110503,
 132049,
 216091,
 756839,
 859433,
 1257787,
 1398269,
 2976221,
 3021377,
 6972593,
 13466917,
 20996011,
 24036583,
 25964951,
 30402457,
 32582657,
 37156667,
 42643801,
 43112609]