Thanks, though I was more interested in primepi, the prime counting number,
than high-precision calculation of 3.1415....

Cheers

Mike

On 27/03/2016 03:53, 'Jon Hough' via Chat wrote:
I happened to stumble across some GMP benchmarks for calculating pi(x). May 
interest you

https://gmplib.org/pi-with-gmp.html


--------------------------------------------
On Thu, 3/24/16, Mike Day <[email protected]> wrote:

  Subject: Re: [Jchat] primes
  To: [email protected]
  Date: Thursday, March 24, 2016, 12:36 AM
Sorry not to be clear. I'd come across a Python
  function to calculate primepi and/or sum of
  primes.
  I translated it into c,
  J and Pari GP with the sorts of performance
  times indicated.
  The method
  rests on these properties:
        N(v,p) =
  N(v,p-1) - (N(v/p, p-1) - N(p-1,p-1))
S(v,p) = S(v,p-1) - p(S(v/p, p-1) - S(p-1,p-1))
  where N(v,m)  (S(v,m)) is the number (sum) of
  integers in [2,v] that
  remain after
  sieving by all primes smaller than or equal to
  m .
  The implementation is clever in that it
  doesn't need to explicitly
  include all
  integers
  in the sieve,  but instead uses a
  couple of arrays of size ~ root(n).
My Lehmer effort is based on Weisstein's
  description in Wolfram World,
  and is
  MUCH more complicated and less J-like than what
  I chose to call primepi.
FYI, I've just rediscovered my note to
  self on the apparent error in
  Weisstein's
  description:
  "  NB. Line 1 is wrong; the limits on i,j
  should read 1<=i<j<=a  "
  (ie
  _not_  1<=i<=j<=a )
OK? Mike PS - sorry that table of (very approx) timings
  displayed poorly for you.
On 23/03/2016 13:33, 'Jon
  Hough' via Chat wrote:
  > Sorry,
  I'm confused, what's the difference between primepi
  and lehmer?
  >
  >
  Anyway, it seems your J Lehmer implementation calculates
  pi(1e9) in ~2 seconds.
  > That doesn't
  seem bad. I mean it's usable.
  >
  --------------------------------------------
  > On Tue, 3/22/16, Mike Day <[email protected]>
  wrote:
  >
  >   Subject: Re: [Jchat]
  primes
  >   To: [email protected]
  >   Date: Tuesday, March 22,
  2016, 7:32 PM
  >
  >   fwiw,  I messed around
  >   with primepi(n) and
  sum-of-primes-to(n) a few months
  >   ago.  (Sum of primes can be
  dealt with in a
  >   similar
  fashion to
  >   primepi).
  Lehmer
  >   didn't perform
  well in my attempts to apply
  >   it.   The Wolfram
  page on
  >   Lehmer
  >   used to have an error in
  >   one of the summations,  so
  take care if using
  >   http://mathworld.wolfram.com/LehmersFormula.html
  >   (I'm sorry but I
  can't see if it's
  >   still wrong right now.
  Weisstein didn't
  >   acknowledge an attempt to
  report the problem,
  >   and I
  naven't retained a
  >   copy of
  >   my message.)
  >
  >   Timings for primepi(n),  on
  a previous
  >   laptop:
  >   +------+----------+-------+-------+--------+-----+-----+-----+----+------+
  >   |Times |n=
  |1000000|1e7    |1e8
  >      |1e9
  |1e10 |1e11 |1e12|1e13  |
  >   +------+----------+-------+-------+--------+-----+-----+-----+----+------+
  >   |c++~
  |primepi   |1ms    |5ms
  >
     |14ms    |150ms|1.1s |9.4s |86s |13m05s|
  >   +------+----------+-------+-------+--------+-----+-----+-----+----+------+
  >   |J
     |primepi   |1ms
  >     |6ms    |20ms    |62ms
  |3.4s |16.6s|92s |8m15s |
  >   +------+----------+-------+-------+--------+-----+-----+-----+----+------+
  >   |J     |Lehmer
    |4ms
  >   |22ms   |190ms   |2.2s
  |8m23s|....
  >   |....|....
  |
  >   +------+----------+-------+-------+--------+-----+-----+-----+----+------+
  >   |PariGP|my-primepi|100ms
  |616ms  |4.4s
  >   |34.6s|4m27s|....
  |....|....  |
  >   +------+----------+-------+-------+--------+-----+-----+-----+----+------+
  >   |PariGP|built-in
  >   |0.004ms|0.327ms|0.0011ms|104ms|27.8s|....
  |....|....  |
  >   +------+----------+-------+-------+--------+-----+-----+-----+----+------+
  >
  >   (Apologies if this
  doesn't
  >   display well -
  I've tried!)
  >
  >   On the present laptop,  with
  an amd chip:
  >   _1 p:
  <.1e8
  >
  >   5761455
  >
  >
> timer'{.{:primepi
  <.1e8'
  >
  >   +---------+-------+
  >
  >   |0.0179977|5761455|
  >
  >   +---------+-------+
  >
  >
    _1 p:
  >   <.1e10
  >
  >   |limit error
  >
  >   | _1 p:<.10000000000
  >
  >
> timer'{.{:primepi
  <.1e10'
  >
  >   +-----+---------+
  >
  >   |3.857|455052511|
  >
  >   +-----+---------+
  >
  >
  >   As the
  >   comparisons above
  demonstrate, my attempt at coding Lehmer
  >   in J
  >   performed
  poorly.   I code c
  >   and c++ very naively,  not
  knowing them well,
  >   so
  it's not surprising that J outperforms
  >   my c++ effort for larger
  n.
  >   The first row of
  >   the Pari GP times are for my
  attempt at translating my
  >   J function into its script.
  Pari GP's
  >   built-in
  primpi function has is
  >   very fast
  >   for lower n,  but degrades
  sharply for larger values. It
  >   might be
  >   relevant that I initialise GP
  with
  >   parisize = 8000000,
  primelimit =
  >   4270000000
  >
  >   The
  >   downside,  as others have
  said, is that an efficient
  >   primepi
  >   function does
  >   NOT
  >   scan all primes on its way to
  counting or summing them!
  >
  >   Code available if
  >   interested.
  >
  >   Mike
  >
  >   On 22/03/2016 00:31,
  'Jon
  >   Hough' via
  Chat wrote:
  >   > Since p:
  has
  >   a limit (why is that,
  by the way? I have written a pi(x)
  >   function using Miessel's
  formula in another language and
  >   it does grind to a slowdown
  for values much larger than 1e7,
  >   so that might be the reason.
  I'm assuming internally J
  >   uses Miessel or Lehmer's
  formula.),
  >   >
  >   it might be better to
  "cheat" and just use a
  >   hardcoded value for
  pi(1e9).
  >   >
  >   > https://primes.utm.edu/howmany.html
  >   (scroll down to table 1)
  >   >
  >   >
  >   > Also, possibly the
  >   worst idea ever, why not
  iterate from 2 to 1e9 and do prime
  >   tests and keep a record of
  the previously found prime to
  >   compare the final digits with
  the next prime, and keep a
  >   record of the comparisons.
  Probably hopelessly slow, and
  >   inefficient.
  >   >
  >   >
  >   --------------------------------------------
  >   > On Tue, 3/22/16, Raul
  Miller <[email protected]>
  >   wrote:
  >   >
  >   >   Subject:
  Re: [Jchat]
  >   primes
  >   >   To:
  "Chat
  >   forum"
  <[email protected]>
  >   >   Date:
  Tuesday, March 22,
  >   2016,
  12:14 AM
  >   >
  >   >   Oh, I coded
  wrong. The
  >   >   limit error
  was from p:, but
  >   I should
  not have been
  >   >   feeding it
  the value 1e9.
  >   >
  >   >   Sometimes I
  wonder how I get
  >   anything
  >   >   done...
  >   >
  >   >   Thanks,
  >   >
  >   >   --
  >   >   Raul
  >   >
  >   >
  >   >   On Mon,
  Mar
  >   >   21,
  2016 at 11:03 AM, Roger
  >   Hui <[email protected]>
  >   >   wrote:
  >   >
  >   >   >
  >   >   > it
  should be
  >   straightforward
  to do the extra credit
  >   >   problem
  >   >   >
  >   >   > I
  should
  >   >   have
  checked.  The extra
  >   credit problem is for
  100,000,000
  >   >   primes.
  >   >   >
  >   >   >
  _1 p:
  >   >   _1+2^31
  >   >   >
  105097564
  >   >   >
  p: 1e8
  >   >   >
  >   >   2038074751
  >   >   >
  >   >   > So
  the
  >   >   limit error
  is not in p: .
  >   >   >
  >   >   >
  >   >   >
  >   >   >
  >   >   >
  >   >   >
  >   >   > On
  Sun, Mar 20, 2016
  >   >   at 4:44 PM,
  Raul Miller
  >   <[email protected]>
  >   >   >
  wrote:
  >   >   >
  >   >   > >
  Rosettacode has a
  >   task
  now, for this
  >   >   item.
  >   >   >
  >
  >   >   > >
  http://rosettacode.org/wiki/Prime_conspiracy#J
  >   >   >
  >
  >   >   > >
  And,
  >   >   hypothetically
  speaking, it
  >   should be
  straightforward to do
  >   >   the
  >   >   >
  extra
  >   >   >
  >
  >   >   credit
  problem. But that
  >   doesn't work. Given:
  >   >   >
  >
  >   >   > >
  dgpairs=: 2
  >   >   (,'->',])&":/\
  >   10 | p:
  >   >   >
  >
  >   combine=: ~.@[ ,.~
  ' ',.~
  >   >   ":@,.@(+//.)
  >   >   >
  >
  >   >   > >
  We can try this:
  >   >   >
  >   >   >
  >   >   > >
    /:~
  >   combine&;/|:
  >   >   (~.;#/.~)@dgpairs@((+
  >   i.)/)"1
  >   >   >
  >
  >   >   (1e6*i.1e3),.1e6+999>i.1e3
  >   >   >
  >
  >   >   > >
  |limit error:
  >   dgpairs
  >   >   >
  >
  >   >   > >
  ... but p:
  >   >   doesn't
  work for values
  >   like 1e9
  (1 p: works, but not
  >   >   p:
  >   >   > >
  itself).
  >   >   >
  >   >   >
  >   >   > >
  And, for example,
  >   Roger
  has
  >   >   worked out
  some
  >   ways of dealing with
  large
  >   >   > >
  primes -- see
  >   looking
  at
  >   >   >
  > http://code.jsoftware.com/wiki/Essays/Primality_Tests
  >   >   -- but we
  don't
  >   >   >
  have
  >   >   > >
  anything that's
  >   a drop
  in
  >   >   replacement
  for
  >   the p: monad.
  >   >   >
  >
  >   >   > >
  So this presents
  >   something
  of a
  >   >   problem
  -
  >   how would we tackle a
  problem
  >   >   >
  >   >   > like
  this?
  >   >   >
  >
  >   >   > >
  (Please feel free
  >   to
  change forum to
  >   >   programming
  if you've got
  >   working
  >   >   >
  >   >   code
  >   >   > >
  rather than just
  >   >   ideas...).
  >   >   >
  >
  >   >   >
  >   >   >
  Thanks,
  >   >   >
  >
  >   >   >
  >   >   > --
  >   >   > >
  Raul
  >   >   >
  >   >   >
  >   >   >
  >
  >   >   >
  >
  >   >   >
  >
  >   >   > >
  On Tue, Mar
  >   >   15, 2016 at
  7:02 AM, Cliff
  >   Reiter
  <[email protected]>
  >   >   > >
  wrote:
  >   >   >
  >
  >   >   > >
  > A look at the
  >   frequencies of
  >   >   pairs of
  >   last digits of successive
  primes:
  >   >   > >
  >
  >   >   /:~({.,#)/.~2]\10|p:4+i.1e7
  >   >   >
  >
  >   >   >
  >   >   > >
  > 1 1 446808
  >   >   > >
  >
  >   >   > >
  > 1
  >   >   3
  756071
  >   >   > >
  >
  >   >   >
  >   >   > > 1
  7 769924
  >   >   > >
  >
  >   >   > >
  > 1 9 526953
  >   >   >
  >   >   >
  >
  >   >   > >
  > 3 1 593196
  >   >   > >
  >
  >   >   > >
  > 3
  >   >   3
  422302
  >   >   > >
  >
  >   >   >
  >   >   > > 3
  7 714795
  >   >   > >
  >
  >   >   > >
  > 3 9 769915
  >   >   >
  >   >   >
  >
  >   >   > >
  > 7 1 639383
  >   >   > >
  >
  >   >   > >
  > 7
  >   >   3
  681759
  >   >   > >
  >
  >   >   >
  >   >   > > 7
  7 422289
  >   >   > >
  >
  >   >   > >
  > 7 9 756852
  >   >   >
  >   >   >
  >
  >   >   > >
  > 9 1 820369
  >   >   > >
  >
  >   >   > >
  > 9
  >   >   3
  640076
  >   >   > >
  >
  >   >   >
  >   >   > > 9
  7 593275
  >   >   > >
  >
  >   >   > >
  > 9 9 446032
  >   >   >
  >   >   >
  >
  >   >   > >
  > The 1 follows
  >   1 as
  >   >   rare as 9
  follows 9,
  >   but rarer is 3
  follows 3 as
  >   >   >
  rare
  >   >   > >
  > as 7
  >   >   follows 7.
  9 1 most popular!
  >   Very
  curious. Probably should
  >   >   move to
  >   >   > >
  > JProg'
  >   Best,
  >   >   Cliff
  >   >   > >
  >
  >   >   >
  >   >   >
  >
  >   >   > >
  >
  >   >   > >
  >
  >   >   > >
  >
  >   >   On
  3/14/2016 12:03 PM, R.E.
  >   Boss wrote:
  >   >   >
  >   >   >
  >
  >   >   > >
  >>
  >   >   > >
  >>
  >   >   >
  >
  >   >   > 
https://www.quantamagazine.org/20160313-mathematicians-discover-prime-conspiracy/
  >   >   > >
  >> R.E.
  >   Boss
  >   >   > >
  >>
  >   >   ----------------------------------------------------------------------
  >   >   > >
  For
  >   >   >
  >
  >   >   >>
  information about J
  >   forums
  see http://www.jsoftware.com/forums.htm
  >   >   >
  >   >   >
  >>
  >   >   > >
  >
  >   >   > >
  >
  >   >   ----------------------------------------------------------------------
  >   >   > >
  > For
  >   information about
  J forums
  >   >   see http://www.jsoftware.com/forums.htm
  >   >   > >
  >
  >   >   >
  >
  >   >   ----------------------------------------------------------------------
  >   >   > >
  For information
  >   about J
  forums see http://www.jsoftware.com/forums.htm
  >   >   >
  >
  >   >   >
  >   >   ----------------------------------------------------------------------
  >   >   > For
  information about J
  >   forums
  see http://www.jsoftware.com/forums.htm
  >   >   >
  >   >   ----------------------------------------------------------------------
  >   >   For
  information about J
  >   forums
  see http://www.jsoftware.com/forums.htm
  >   >
  >   ----------------------------------------------------------------------
  >   > For information about J
  forums see http://www.jsoftware.com/forums.htm
  >
  >
  >   ---
  >   This email has been checked
  for viruses by
  >   Avast
  antivirus software.
  >   https://www.avast.com/antivirus
  >
  >   ----------------------------------------------------------------------
  >   For information about J
  forums see http://www.jsoftware.com/forums.htm
  >
  ----------------------------------------------------------------------
  > For information about J forums see http://www.jsoftware.com/forums.htm
---
  This email has been checked for viruses by
  Avast antivirus software.
  https://www.avast.com/antivirus
----------------------------------------------------------------------
  For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to