Question: Details of Maple 2017 isprime and GMP dependency

Hello, I am looking to understand in more depth how the function isprime(n) works. After reading Section 6.2.4 'Other Primality Tests' of Padro's Introduction to Cryptography with maple, I understand that it performs some prior trial divisions before a Miller-Rabin test (of which it calls GMP) and then a Lucas test.

 I have also seen the post on these forums:

 https://www.mapleprimes.com/questions/204087-Maple-Specialprimes 

to see the result of showstat(isprime), which verifies my summary as above. I am curious as to what exact function is being called upon from gmp by gmp_isprime(n). Since there is no obvious analog function found in GMP, and the popular mpz_probab_prime_p() takes a second argument, which is not given here. I found the documentation gives a download of the GMP code used here:

https://www.maplesoft.com/support/downloads/GMP.html

I pose two questions, the first:

  1. Since I do not own Maple 2017, is the result of showstat(isprime) the same as that given above in Maple18? COuld someone be so kind as to post a raw output of this below?
  2. What function for primality test is being called upon in GMP, I am very familiar with GMP and the only test that can be called without a value of 'reps' (or rounds of MR) is found in demos/isprime.c in the GMP download maple gives, which uses mpz_probab_prime_p(n,25), i.e 25 rounds of Miller Rabin, but seems unlikely to just be used, as it is a demo.

Thanks,

Jake

Please Wait...