Does logint function work well? (for PNT)

3 次查看(过去 30 天)
On the 'Prime Obsession' book, 20 to the power 1/2 + 14.134725i is −0.302303 − 4.46191i. Take the logarithmic integral—the Li function—of that to get the answer −0.105384 + 3.14749i.
I tried as belows, but failed.
>> a=20^(1/2+14.134725i)
a =
-0.3023 - 4.4619i % OK
>> logint(a)-logint(2)
ans =
0.9528 - 3.9138i % Wrong
  6 个评论
the cyclist
the cyclist 2018-10-14
If you go to WolframAlpha and evaluate the expression
Li(20^(1/2+14.134725i)) - Li(2)
you get the answer
0.952805 - 3.91384i
which is what you say that MATLAB also gives. Therefore, I think the problem is not with MATLAB.
Maybe you could post more of what it says in the book you mention. Maybe there is some other part you are missing.
Notae
Notae 2018-10-15
Thank you for your efforts. I have tired to roughly understand the prime number theory and Riemann zeta function(and hypothesis). For the final error complement, all sum of Li(x^zeros of zeta function) is essential. But the number(s) is too big. With psi function, I did well, all sum of x^p/p is necessary(p is rho, zeros of zeta function)

请先登录,再进行评论。

采纳的回答

David Goodmanson
David Goodmanson 2018-10-15
编辑:David Goodmanson 2018-10-15
Hi Notae,
The reason for this is something that Derbyshire relegated to a footnote several pages before (p. 335, 128). If you look at the logarithmic integral, its primary definition is
Li(z) = Ei(log(z))
(Abramowitz & Stegun 5.1.3) where Ei is a particular exponential integral which Matlab does have, although that fact is not so obvious and you need the symbolic toolbox. [there is a workaround for Ei, see below]. However, there is a 2pi ambiguity when taking the log, since for any integer n, log(z) and log(z)+2*pi*i*n are equally valid answers. That means that Ei(logz)) depends on n and you have to pin down the actual angle.
If z = Ae^(i*b) where b is restricted to the range -pi<b<=pi in the first place, then Li(z) and Ei(log(z)) give the same result.
b = logint(2+i)
c = ei(log(2+i))
b = 1.4113 + 1.2247i
c = 1.4113 + 1.2247i
In this case, though,
a = 20^(.5+14.134725i)
and you have to keep track of the number of times you go around the circle so as to remove ambiguity.
% a = 20^(.5+14.134725i)
loga = log(20)*(.5+14.134725i)
loga = 1.4979 +42.3439i % large angle, no 2pi ambiguity
format long
ei(loga)
ans = -0.105384042414102 + 3.147487521958689i
as advertised. That's what he did in footnote 128.
If you don't have the symbolic toolbox, since expint is available in basic Matlab you can use
function y = ei_alt(z)
y = -expint(-z) + (log(z)-log(1/z))/2 - log(-z);
end
Ei(logz)) can distinguish how many times you go around the circle, but Li(z) as defined on p.114 (and generalized so that the path of integration is a straight line from 0 to complex number z) cannot. To say as he did on p. 340 that he used the Li function is highly misleading, as you found out.
  2 个评论
Notae
Notae 2018-10-18
编辑:Notae 2018-10-18
Very thankful for your answer. I tried as below without reading your answer. >> c=log(20^a) c = 1.4979 - 1.6384i >> ei(c) ans = 1.9980 - 3.9138i
I saw it on the 'http://demonstrations.wolfram.com/HowTheZerosOfTheZetaFunctionPredictTheDistributionOfPrimes/' They say 'Ei(p*log(x), where p(rho) is the complex zero of the zeta function. In this formula, (Mathematica's built-in function ExpIntegralEi[z]) is the generalization of the logarithmic integral to complex numbers.' And I read logint(z)=ei(log(z)) by MATLAB doc. So I tried as abovee. But failed again. Anyway logint(z) works well if a input arg. is complex number. So ei(log(z)) doesn't neccessory.
Notae
Notae 2018-10-19
I skipped your good answer and just insisted my biased, one-way thought that I had tried all as I can including your answer. But now I read your answer one word by one, and I understand what you mean. Anyway thank you really. (But the plot of pi(x) and R(x)-R(x^p) appeared bad. The x and psi(x) (here Li(sum of x^p/p) exist) showed very good looks which was the same as many papers.)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by