I heard that computation results can be very sensitive to choice of random number generator.
I wonder whether it is relevant to program own Mersenne-Twister or other pseudo-random routines to get a good number generator. Also, I don't see why I should not trust native or library generators as random.uniform() in numpy, rand() in C++. I understand that I can build generators on my own for distributions other than uniform (inverse repartition function methor, polar method). But is it evil to use one built-in generator for uniform sampling?
What is wrong with the default 'time' seed? Should one re-seed and how frequently in a code sample (and why)?
Maybe you have some good links on these topics!
--edit More precisely, I need random numbers for multistart optimization routines, and for uniform space sample to initialize some other optimization routine parameters. I also need random numbers for Monte Carlo methods (sensibility analysis). I hope the precisions help figure out the scope of question.
Kind regards
The answers to those questions depend completely on what you need the pseudorandom numbers for.
In some applications, such as cryptography, one needs to use very, very random numbers, and it is essential that nobody can predict which number your generator produced, and also that nobody can deduce afterward which numbers were produced, except to the extent you explicitly tell them. In such a setting, seeding with the current time is obviously worthless, because an attacker can just set his computer's time to when he knows you (say) generated your key pair and then run the same random generator to figure out what it must have been.
In most other cases you care less about your random numbers being secret, and the CPU load that goes into ensuring that they are would be ill spent.
In yet other applications, such as some Monte Carlo simulations, you actually want the sequence of random numbers to be predictable and reproducible such that you can cross-check the computation later, or if you want to see how slightly different starting conditions would develop under the same "random" external influences.
It's all, completely, in what your needs are. And until you understand this connection better, it would certainly be a waste of effort to program your own generator just because you've heard that (in some situations!) it is the "right thing" to do.