Meissel–Mertens constant

Revision as of 19:15, 3 October 2022 by Nebulus (talk | contribs) (Created page with "{{task}} ;Task: Calculate Meissel–Mertens constant up to a precision your language can handle. ;Motivation: Analogous to Euler's constant, which is important in determining the sum of reciprocal natural numbers, Meissel-Mertens' constant is important in calculating the sum of reciprocal primes. ;Example: We consider the finite sum of reciprocal natural numbers: ''1 + 1/2 + 1/3 + 1/4 + 1/5 ... 1/n'' this sum can be well approximated with: ''log(n) + E'' wher...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Calculate Meissel–Mertens constant up to a precision your language can handle.

Task
Meissel–Mertens constant
You are encouraged to solve this task according to the task description, using any language you may know.


Task


Motivation

Analogous to Euler's constant, which is important in determining the sum of reciprocal natural numbers, Meissel-Mertens' constant is important in calculating the sum of reciprocal primes.


Example

We consider the finite sum of reciprocal natural numbers:

1 + 1/2 + 1/3 + 1/4 + 1/5 ... 1/n

this sum can be well approximated with:

log(n) + E

where E denotes Euler's constant: 0.57721...

log(n) denotes the natural natural logarithm of n.


Now consider the finite sum of reciprocal primes:

1/2 + 1/3 + 1/5 + 1/7 + 1/11 ... 1/p

this sum can be well approximated with:

log( log(p) ) + M

where M denotes Meissel-Mertens constant: 0.26149...


See


PARI/GP

Summation method

{
MM(t)=
  my(s=0);
  forprime(p = 2, t,
    s += log(1.-1./p)+1./p
  );
  Euler+s
};
Output:

Running 10^9 summations to get 9 valid digits:

? \p10
   realprecision = 19 significant digits (10 digits displayed)
? MM(1e9)
?
%1 = 0.2614972129
?
? ##
  ***   last result: cpu time 1min, 18,085 ms, real time 1min, 18,094 ms.
?