galois.is_prime(n: int) bool

Determines if n is prime.

Parameters:
n: int

An integer.

Returns:

True if the integer n is prime.

Notes

This algorithm will first run Fermat’s primality test to check n for compositeness, see fermat_primality_test(). If it determines n is composite, the function will quickly return.

If Fermat’s primality test returns True, then n could be prime or pseudoprime. If so, then the algorithm will run 10 rounds of Miller-Rabin’s primality test, see miller_rabin_primality_test(). With this many rounds, a result of True should have high probability of n being a true prime, not a pseudoprime.

Examples

In [1]: galois.is_prime(13)
Out[1]: True

In [2]: galois.is_prime(15)
Out[2]: False

The algorithm is also efficient on very large n.

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