[racket] Math library ready for testing

From: Jens Axel Søgaard (jensaxel at soegaard.net)
Date: Tue Dec 11 06:58:29 EST 2012

2012/12/11 Pierpaolo Bernardi <olopierpa at gmail.com>:
> On Tue, Dec 11, 2012 at 12:01 PM, Jens Axel Søgaard
> <jensaxel at soegaard.net> wrote:
>
>> Below 60 there are only 16 numbers not divisible by 2, 3 or 5.
>> The number of bytes needed to store primality results for the
>> first million numbers will therefore be
>>       1000000 * 16/60 * 1/8  ~ 33333.3
>>
>> How much space would be reasonable to use in the library?
>
> Would make sense to have a user-tuneable parameter (with a small
> default) for this?
> So a prime intensive computation could do (precompute-primes-up-to
> (expt 10 9) ).

That would make sense.

> What do Mathematica, Maple, etc, do in this case?

Here is what Maxima does (line 628 and below):

https://github.com/andrejv/maxima/blob/master/src/ifactor.lisp

They keep a table of the primes below 10000. Small numbers
are simply looked up in the table.

Medium numbers are divided into ranges. In each range
Miller-Rabin is used with pre-selected moduli. This makes
the test deterministic.

For large numbers a pseudo test is used.

--
Jens Axel Søgaard


Posted on the users mailing list.