In October 2010 I was working in a research project where we minimize a segmentation energy for images using a stochastic approach. To this end, we choose the SIMD-oriented Fast Mersenne Twister (SFMT). This random number generator is described in this paper.
and the authors are so kind as to provide fully working C code, at the above address.
While we were developing our research, we also added some code to your library. This code can be used to transform the internal state of the dSFMT into a formatted ASCII string. This is quite useful for very long running minimization algorithms. When our minimization algorithm runs, every 10 seconds it saves this string in a "checkpoint file" together with all other internal parameters of the algorithm ; if the algorithm is interrupted, then the algorithm can be restarted and it will read the file and start from where it last saved its state. This is also very useful if the algorithm crashes: by loading the state, the debugging can be done on the state that (nearly) crashed. (This proved very useful when it happened that a particular choice of inputs would crash the algorithm after ~50minutes of running...).
The new code adds 4 functions; the first function transforms the state to a ASCII multiline string. The other functions read the string back to the state.
Various info.
The following files are available for download
Disclaimer: the content of this page and the ones following
represent only the opinion and work of the author and not that of the
Scuola Normale Superiore.
Please pay a lot of attention. In May 1997 Italian parliament passed a
privacy law that makes it illegal to collect or trade information about
individuals or companies without their prior written approval; this
well
includes addresses, telephone numbers AND e-mail addresses.
Similair laws exist also in the U.S.A.: "By US Code Title 47,
Sec.227(a)(2)(B), a computer/modem/printer meets the definition of a
telephone fax machine. By Sec.227(b)(1)(C), it is unlawful to send any
unsolicited advertisement to such equipment. By Sec.227(b)(3)(C), a
violation of the aforementioned Section is punishable by action to
recover actual monetary loss, or $500, whichever is greater, for each
violation."
Since I am a USA national, I appeal also to these laws. I DO NOT GIVE
YOU MY CONSENT. YOU MUST DELETE ANY REFERENCE TO ME, IMMEDIATELY.
Regards, A. Mennucci