Marco:
I'd break it down into two steps, which can be done
in either order.
Step 1: Modify the commands to allow mass matrices
for input.
Step 2: Modify the commands to save the mass matrices
and current state of the PRNG.
I don't see an easy way to save the state with the PRNG
we're using now:
http://www.boost.org/doc/libs/1_55_0/doc/html/boost/random/ecuyer1988.html
So this may also involve:
Step 3: Replacing the PRNG with Ben's suggested alternative:
http://numbercrunch.de/trng/
It has better PRNG properties. But I don't know if it lets you save
a seed easily.
Alternative: Using the RNG to generate a seed to save. Use that
seed to restart. That makes it reproducible, but doesn't make the
result the same as what you'd get by running one long chain.
- Bob
If we really want to set things up so that if you
restart you get the same samples as if you'd run longer,
we do need to save the RNG seed.
I think it may be problematic with the current Boost
PRNGs, because I don't think there's a way to save a seed
or other state from them to restart. But we've been
talking about updating the PRNG for a while now --- I don't
know if the one Ben suggested would be easier:
But that's not technically necessary for reproducibility,
if you can save a seed, then restart with it.