Wolfram Function Repository
Instantuse addon functions for the Wolfram Language
Function Repository Resource:
Certify a number as provably prime
"SmallPrime"  10^{50}  lower bound for using the Atkin–Morain test  
"Certificate"  False  whether to print a certificate  
"PollardPTest"  Automatic  whether to use the Pollard p1 method  
"PollardRhoTest"  Automatic  whether to use the Pollard ρ method  
"TrialDivisionLimit"  Automatic  number of primes to use in trial division  
"PrimeQMessages"  False  whether progress is to be monitored 
PrimeQ indicates that 1093 is prime:
In[1]:= 

Out[1]= 

ProvablePrimeQ gives the same result, but it has generated a certificate:
In[2]:= 

Out[2]= 

ProvablePrimeQ works on arbitrarily large numbers:
In[3]:= 

Out[3]= 

ProvablePrimeQ automatically threads over lists:
In[4]:= 

Out[4]= 

A random prime:
In[6]:= 

Out[6]= 

Progress messages are printed with "PrimeQMessages"→True:
In[7]:= 

Out[7]= 

Here is a random prime:
In[8]:= 

Out[8]= 

If ProvablePrimeQ has returned a result, use PrimeQCertificate to print the certificate:
In[9]:= 

Out[9]= 

In[10]:= 

Out[10]= 

With "Certificate"→True, ProvablePrimeQ repeats the Atkin–Morain primality test:
In[11]:= 

Out[11]= 

A certificate cannot be generated for 1, 0, or 1:
In[12]:= 

Out[12]= 

Wolfram Language 11.3 (March 2018) or above
This work is licensed under a Creative Commons Attribution 4.0 International License