[GAP Forum] RandomMat with really random source
Stefan Kohl
stefan at mcs.st-and.ac.uk
Tue Jul 29 14:06:02 BST 2014
Dear Forum,
On Tue, July 29, 2014 1:34 pm, Frank Lübeck wrote:
> On Thu, Jul 24, 2014 at 09:57:56AM -0400, J DIXON wrote:
>> The original question was: how can you produce a different series of
>> "random" elements each time? Surely in this case it is enough to
>> have a procedure (perhaps using RealRandomSource) to produce a new
>> seed and then run the standard generator from there?
>> - John Dixon
>
> Dear Forum,
>
> Yes, this is the right suggestion. You just need a session dependent seed
> to reset the global random number generator which is used by all
> Random-functions in the GAP library. Here is how you can do this:
>
> If you have the IO-package installed put this before your code for which you
> want a different random-behaviour in different GAP sessions:
>
> #####################################################################
> LoadPackage("io"); # better make sure IO is loaded at startup
> Reset(GlobalMersenneTwister,
> Random(RandomSource(IsRealRandomSource, "urandom"), 1, 2^512));;
> #####################################################################
This depends on the purpose you need the random numbers for -- if it is for
cryptographic purposes, this is NOT the right suggestion, as the Mersenne Twister
is not a cryptographically secure pseudorandom number generator.
-- Citing from Wikipedia (http://en.wikipedia.org/wiki/Mersenne_twister):
> The algorithm in its native form is not suitable for cryptography
> (i.e. it is not a CSPRNG). The reason is that observing a sufficient number
> of iterations (624 in the case of MT19937, since this is the size of the
> state vector from which future iterations are produced) allows one to
> predict all future iterations.
Best regards,
Stefan
-----------------------------------------------------------------------------
http://www.gap-system.org/DevelopersPages/StefanKohl/
-----------------------------------------------------------------------------
More information about the Forum
mailing list