-----Original Message----- From: Jon Agiato [mailto:JonAgiato@nyc.rr.com]
Thanks for your suggestions and corrections, you made my day for sure! I am sort of embarrassed as I have a decent amount of experience with C++ but this was my first attempt at writing to a binary file, incorrectly apparently! ;-) If you do not mind, I would like to ask a few additional questions:
I think everyone makes that same mistake; I know I have! :)
I notice there is mt19937 for the mersenne twister, and mt11213b for the mersenne twister. What is the difference between the two?
Check out the first chart in libs\random\random-generators.html - it compares a few properties of the various specializations.
What other deterministic random number generators does boost offer, and can I use them in the same fashion as mt19937 as far as object instantiation?
Linear congruential and lagged Fibonacci. All RNGs in Boost.Random follow the same interface, given by the RNG concept documentation in libs\random\random-concepts.html
I have Linux in VMWare as well as a standalone Linux box so I should be able to utilize the non-deterministic generator. Do you have any suggestions that I might keep in mind before I begin?
No; I've never actually used it myself.
And lastly (don't want to wear out my welcome.. lol), do you think there would be any benefit to using the advanced RNG classes in my research?
Actually, I think it might be a good idea to do so for your project. The specializations provided by Boost.Random are well-known RNGs that have been published in research papers and used extensively. There are undoubtedly many other good specializations out there, but few are used (mainly because it is very hard to define what a "good RNG" is). Anyway, what I was thinking is that you might make some of your own specializations that are known to be bad RNGs, and discuss why they are bad. Here is where my knowledge about RNGs end; I'm sure that there are known bad RNGs, but I don't know what they are. -Steve