| Karim Belabas on Sun, 25 May 2014 13:14:28 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: bug in PARI/GP (Segmentation Fault), please report. |
* John W. Nicholson [2014-05-25 12:55]:
[..]
> n=2;while(ln(prime(n))>ln(prime(n+1))/exp(1/(n))&&n<pl,n++);print(n)
> *** at top-level: ...=2;while(ln(prime(n))>ln(prime(n+1))/exp(1/(n
> *** ^--------------------
> *** prime: bug in PARI/GP (Segmentation Fault), please report.
> *** Break loop: type 'break' to go back to GP prompt
> break> n
> 23163299
> break>
>
> Is this a bug on my machine, or can it be reproduced by others? Has this been reported before?
Can you try to narrow it down ?
With
n = 23163299
N = n + 1
alias(ln, log)
I can't reproduce it: the following command runs to completion
while(ln(prime(n))>ln(prime(n+1))/exp(1/(n))&&n<N,n++);
Cheers,
K.B.
P.S. Your program is inefficient: prime(n) runs in time O(n), so it runs
in time O~(N^2). Also (minor) prime(n+1) doesn't use the previously
computed prime(n). Much better:
test(N) =
{
n = 1; logprev = log(2);
forprime(p = 3, N,
my (l = log(p)); \\ l = log(prime(n+1)), logprev = log(prime(n))
if (logprev*exp(1/n) < l, print([n, p]));
logprev = l; n++;
);
}
Untested but runs in time O~(N).
--
Karim Belabas, IMB (UMR 5251) Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation http://www.math.u-bordeaux1.fr/~kbelabas/
F-33405 Talence (France) http://pari.math.u-bordeaux1.fr/ [PARI/GP]
`