!q{     (c) 2016 Jared TobinMITJared Tobin <jared@jtobin.ca>unstableghcNone  flat-mcmc2A type-specialized alias for Data.Vector.fromList.5Use this to create ensembles from lists of particles.  flat-mcmc9A type-specialized alias for Data.Vector.Unboxed.fromList3Use this to create particles from lists of doubles. (c) 2016 Jared TobinMITJared Tobin <jared@jtobin.ca>unstableghcNone"#  flat-mcmc)An ensemble is a collection of particles.The Markov chain we're interested in will run over the space of ensembles, so you'll want to build an ensemble out of a reasonable number of particles to kick off the chain.(You can create an ensemble by using the ensemble6 helper function, or just use Data.Vector.fromList.  flat-mcmc8A particle is an n-dimensional point in Euclidean space.'You can create a particle by using the particle> helper function, or just use Data.Vector.Unboxed.fromList. flat-mcmcRender a Chain as a text value. flat-mcmcThe M transition operator for driving a Markov chain over a space of ensembles. flat-mcmcTrace n8 iterations of a Markov chain and stream them to stdout.Note that the Markov chain is defined over the space of ensembles, so you'll need to provide an ensemble of particles for the start location.import Numeric.MCMC.Flat#import Data.Vector.Unboxed (toList):{Hlet rosenbrock xs = negate (5 *(x1 - x0 ^ 2) ^ 2 + 0.05 * (1 - x0) ^ 2)& where [x0, x1] = toList xs:}:{let origin = ensemble [!particle [negate 1.0, negate 1.0], particle [negate 1.0, 1.0], particle [1.0, negate 1.0], particle [1.0, 1.0]]:}5withSystemRandom . asGenIO $ mcmc 2 origin rosenbrock -1.0,-1.0-1.0,1.01.0,-1.0%0.7049046915549257,0.7049046915549257%-0.843493377618159,-0.843493377618159&-1.1655594505975082,1.1655594505975082&0.5466534497342876,-0.9615123448709006%0.7049046915549257,0.7049046915549257    &flat-mcmc-1.5.2-K1WW0dldffL95YLhiycsncNumeric.MCMC.FlatData.Vector.Extended'mcmc-types-1.0.3-6SFuzNCClMRIWPh1Srlo2bData.Sampling.Types TransitionglTargetlTargetTarget*mwc-random-0.15.0.1-AKhjzp6D0kjBWCUzL9dngDSystem.Random.MWCasGenIOcreatecreateSystemRandomwithSystemRandomensembleparticleEnsembleParticleChainflatmcmcrender