numbers (version 0.7-5)

mersenne: Mersenne Numbers

Description

Determines whether \(p\) is a Mersenne number, that is such that \(2^p - 1\) is prime.

Usage

mersenne(p)

Arguments

p

prime number, not very large.

Value

Returns TRUE or FALSE, indicating whether p is a Mersenne number or not.

Details

Applies the Lucas-Lehmer test on p. Because intermediate numbers will soon get very large, uses `gmp' from the beginning.

References

http://mathworld.wolfram.com/Lucas-LehmerTest.html

Examples

Run this code
# NOT RUN {
mersenne(2)

# }
# NOT RUN {
  P <- Primes(32)
  M <- c()
  for (p in P)
      if (mersenne(p)) M <- c(M, p)
  # Next Mersenne numpers with primes are 521 and 607 (below 1200)
  M                       # 2   3   5    7    13      17  19  31  61  89  107
  gmp::as.bigz(2)^M - 1   # 3   7  31  127  8191  131071  ... 
# }

Run the code above in your browser using DataLab