h$      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                     +The state combined with auxiliary variables(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone GmcmcLink of a Markov chain. For reasons of computational efficiency, each state is associated with the corresponding prior and likelihood.mcmc%The current state in the state space a.mcmcThe current prior.mcmcThe current likelihood.History of a Markov chain(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone  mcmcA   is a mutable circular stack that passes through a list of states with associated priors and likelihoods called s. mcmcInitialize a trace of given length by replicating the same value.Be careful not to compute summary statistics before pushing enough values.Call ) if the maximum size is zero or negative.mcmcGet the length of the trace.mcmcPush a  on the  .mcmc&Get the most recent link of the trace.See .mcmc)Get the k most recent links of the trace.See .mcmc%Freeze the mutable trace for storage.See .mcmcThaw a circular stack.See .  ByteString tools(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-Inferred>mcmcFor a given width, align string to the right; use given fill character.mcmcFor a given width, align string to the right; use given fill character; trim on the left if string is longer.mcmcFor a given width, align string to the right; trim on the left if string is longer.mcmcFor a given width, align string to the left; use given fill character; trim on the right if string is longer.mcmcFor a given width, align string to the left; trim on the right if string is longer.Tools for random calculations(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone(mcmcSplit a generator.Splitting an MWC pseudo number generator is not good practice. However, I have to go with this solution for now, and wait for proper support of spittable pseudo random number generators such as splitmix.mcmcSave a generator to a seed.mcmcLoad a generator from a seed.Shuffle a list(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonemcmcShuffle a vector.mcmcgrabble xs m n is O(m*n'), where n' = min n (length xs) . Choose n' elements from xs , without replacement, and that m times.Monitor logarithmic values(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone4mcmcPrint a log value.Monitor parameters(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonemcmc)Instruction about a parameter to monitor.?Convert a parameter monitor from one data type to another with .For example, monitor a ( value being the first entry of a tuple: mon = fst >$< monitorDouble mcmcName of parameter.mcmc>Instruction about how to extract the parameter from the state.mcmcMonitor .mcmcMonitor , with eight decimal places (half precision).mcmcMonitor  with full precision computing the shortest string of digits that correctly represent the number.mcmcMonitor * in exponential format and half precision.mcmcName.mcmcName.mcmcName.mcmcName.  Batch monitor parameters(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone]mcmcInstruction about a parameter to monitor via batch means. Usually, the monitored parameter is averaged over the batch size. However, arbitrary functions performing more complicated analyses on the states in the batch can be provided.;Convert a batch monitor from one data type to another with .For example, batch monitor the mean of the first entry of a tuple: mon = fst >$< monitorBatchMean Batch monitors may be slow because the monitored parameter has to be extracted from the state for each iteration. mcmc"Name of batch monitored parameter.!mcmc2For a given batch, extract the summary statistics."mcmcBatch mean monitor.:Print the mean with eight decimal places (half precision).#mcmcBatch mean monitor.Print the mean with full precision computing the shortest string of digits that correctly represent the number.$mcmcBatch mean monitor.(Print the real float parameters such as 4 with scientific notation and eight decimal places."mcmcName.#mcmcName.$mcmcName. !"#$ !"#$Print time related values(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-Inferred &mcmc;Adapted from System.ProgressBar.renderDuration of package  ?https://hackage.haskell.org/package/terminal-progress-bar-0.4.1terminal-progressbar-0.4.1.'mcmcRender duration in seconds.(mcmcRender a time stamp.&'(&'(*Convenience functions for computing priors(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone )mcmc;Improper uniform prior; strictly larger than a given value.*mcmc2Improper uniform prior; strictly larger than zero.+mcmc:Improper uniform prior; strictly lower than a given value.,mcmc1Improper uniform prior; strictly lower than zero.-mcmcExponential distributed prior..mcmcGamma distributed prior./mcmcNormal distributed prior.0mcmcUniform prior on [a, b].1mcmcPoisson distributed prior.2mcmc8Intelligent product that stops when encountering a zero.Use with care because the elements are checked for positiveness, and this can take some time if the list is long and does not contain any zeroes.-mcmcRate..mcmcShape.mcmcScale./mcmcMean.mcmcStandard deviation.0mcmcLower bound a.mcmcUpper bound b.1mcmcRate. )*+,-./012 )*+,-./0128Proposals are instruction to move around the state space(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone <=:(3mcmc For each key k6, store the number of accepted and rejected proposals.5mcmc In brief, a 5 is a list of proposals.s are executed sequentially, in the order they appear in the 5. Cs with weight w>1 are repeated immediately w2 times (and not appended to the end of the list).:mcmc Similar to 85. However, a reversed copy of the list of shuffled Cs is appended such that the resulting Markov chain is reversible. Note: the total number of C.s executed per cycle is twice the number of 8.;mcmc Similar to 9. However, a reversed copy of the list of sequentially ordered Cs is appended such that the resulting Markov chain is reversible.<mcmcTune the proposal??mcmcTune the acceptance rate of a C; see Y, or _.Bmcmc+Simple proposal without tuning information.Instruction about randomly moving from the current state to a new state, given some source of randomness.In order to calculate the Metropolis-Hastings-Green ratio, we need to know the ratio of the backward to forward kernels (i.e., the probability masses or probability densities) and the absolute value of the determinant of the Jacobian matrix.6For unbiased proposals, these values are 1.0 such that 3proposalSimpleUnbiased x g = return (x', 1.0, 1.0) For biased proposals, the kernel ratio is qYX / qXY, where qXY is the probability density to move from X to Y, and the absolute value of the determinant of the Jacobian matrix differs from 1.0.CmcmcA C is an instruction about how the Markov chain will traverse the state space a. Essentially, it is a probability mass or probability density conditioned on the current state (i.e., a Markov kernel).A C may be tuneable in that it contains information about how to enlarge or shrink the step size to tune the acceptance rate.EmcmcName of the affected variable.Fmcmc0Description of the proposal type and parameters.GmcmcDimension of the proposal. The dimension is used to calculate the optimal acceptance rate, and does not have to be exact.Hmcmc"The weight determines how often a C0 is executed per iteration of the Markov chain.Imcmc=Simple proposal without name, weight, and tuning information.JmcmcTuning is disabled if set to .KmcmcProposal dimension./The number of affected, independent parameters.The optimal acceptance rate of low dimensional proposals is higher than for high dimensional ones.Optimal acceptance rates are still subject to controversies. As far as I know, research has focused on random walk proposal with a multivariate normal distribution of dimension d<. In this case, the following acceptance rates are desired:(one dimension: 0.44 (numerical results);4five and more dimensions: 0.234 (numerical results);infinite dimensions: 0.234 (theorem for specific target distributions).4See Handbook of Markov chain Monte Carlo, chapter 4.Of course, many proposals may not be classical random walk proposals. For example, the beta proposal on a simplex ( ) samples one new variable of the simplex from a beta distribution while rescaling all other variables. What is the dimension of this proposal? I don't know, but I set the dimension to 2. The reason is that if the dimension of the simplex is 2, two variables are changed. If the dimension of the simplex is high, one variable is changed substantially, while all others are changed marginally.Further, if a proposal changes a number of variables in the same way (and not independently like in a random walk proposal), I still set the dimension of the proposal to the number of variables changed.Finally, I assume that proposals of unknown dimension have high dimension, and use the optimal acceptance rate 0.234.Nmcmc"The weight determines how often a C0 is executed per iteration of the Markov chain.QmcmcProposal description.TmcmcProposal name.Wmcmc>Convert a proposal from one data type to another using a lens. For example: %scaleFirstEntryOfTuple = _1 @~ scale XmcmcCreate a tuneable proposal.YmcmcTune a C . Return  if C is not tuneable. The size of the proposal is proportional to the tuning parameter. Negative tuning parameters are not allowed.ZmcmcSee K.[mcmc Create a 5 from a list of Cs.\mcmcSet the order of Cs in a 5.]mcmc Replicate C7s according to their weights and possibly shuffle them.^mcmcTune C s in the 5. See Y._mcmc-Calculate acceptance rates and auto tune the C s in the 5. For now, a C is enlarged when the acceptance rate is above 0.44, and shrunk otherwise. Do not change Cs that are not tuneable.`mcmcHeader of proposal summaries.amcmc&Horizontal line of proposal summaries.bmcmcProposal summary.cmcmcSummarize the C s in the 5. Also report acceptance rates.dmcmc$In the beginning there was the Word.8Initialize an empty storage of accepted/rejected values.emcmcFor key k:, prepend an accepted (True) or rejected (False) proposal.fmcmcReset acceptance storage.gmcmcTransform keys using the given lists. Keys not provided will not be present in the new 3 variable.hmcmc3Acceptance counts and rate for a specific proposal.imcmc#Acceptance rates for all proposals.Xmcmc0Description of the proposal type and parameters.mcmcFunction creating a simple proposal for a given tuning parameter. The larger the tuning parameter, the larger the proposal (and the lower the expected acceptance rate), and vice versa.mcmc Dimension.mcmcName.mcmcWeight.mcmcActivate tuning?73456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi7TUVQRSNOPKLMCDEFGHIJWB?@A<=>XYZ`ab789:;56[\]^_c34defghi Bactrian proposals(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone?kmcmcAdditive symmetric proposal with kernel similar to the silhouette of a Bactrian camel.The  https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3845170/figure/fig01Bactrian kernel is a mixture of two symmetrically arranged normal distributions. The spike parameter  m \in (0, 1) loosely determines the standard deviations of the individual humps while the second parameter s > 0 refers to the standard deviation of the complete Bactrian kernel.See  5https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3845170/.mcmcMultiplicative proposal with kernel similar to the silhouette of a Bactrian camel. See .mcmcSpike parameter m.mcmcStandard deviation s.mcmcName.mcmcWeight.mcmcEnable tuning.mcmcSpike parameter.mcmcStandard deviation.mcmcName.mcmcWeight.mcmcEnable tuning. (Generic interface for creating proposals(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneE?mcmcGeneric function to create proposals for continuous parameters ().mcmc>Generic function to create proposals for discrete parameters ().mcmcProbability distributionmcmcForward operator.For example, for a multiplicative proposal on one variable the forward operator is (*) , so that  x * u = y.mcmcInverse operator. For example, 7 for a multiplicative proposal on one variable, since %y * (recip u) = x * u * (recip u) = x.Required for biased proposals.mcmcFunction to compute the absolute value of the determinant of the Jacobian matrix. For example, for a multiplicative proposal on one variable, we have &detJacobian _ u = Exp $ log $ recip u That is, the determinant of the Jacobian matrix of multiplication is just the reciprocal value of u! (with conversion to log domain).Required for proposals for which absolute value of the determinant of the Jacobian differs from 1.0.Conversion to log domain is necessary, because some determinants of Jacobians are very small (or large).mcmcProbability distribution.mcmc0Forward operator, e.g. (+), so that x + dx = x'.mcmcInverse operator, e.g., , so that x' + (negate dx) = x. Only required for biased proposals. Multiplicative proposals(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneHmcmc6Multiplicative proposal with gamma distributed kernel.mcmc6Multiplicative proposal with gamma distributed kernel.The scale of the gamma distribution is set to (shape)^{-1}, so that the mean of the gamma distribution is 1.0.mcmc6Multiplicative proposal with gamma distributed kernel.The two values are scaled contrarily so that their product stays constant. Contrary proposals are useful when parameters are confounded.mcmcShape.mcmcScale.mcmcShape.mcmcShape.mcmcScale. Proposals on simplices(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneQmcmcAn element of a simplex./A vector of non-negative values summing to one.The nomenclature is not very consistent, because a K-dimensional simplex is usually considered to be the set containing all K-dimensional vectors with non-negative elements that sum to 1.0. However, I couldn't come up with a better name. Maybe SimplexElement, but that was too long.mcmc8Ensure that the value vector is an element of a simplex.Return  if: - The value vector is empty. - The value vector contains negative elements. - The value vector is not normalized.mcmc8Create the uniform element of the K-dimensional simplex.Set all values to 1/D.mcmc Dirichlet proposal on a simplex.For a given element of a K-dimensional simplex, propose a new element of the K-dimensional simplex. The new element is sampled from the multivariate Dirichlet distribution with parameter vector being proportional to the current element of the simplex.The tuning parameter is used to determine the concentration of the Dirichlet distribution: the lower the tuning parameter, the higher the concentration.The proposal dimension, which is the dimension of the simplex, is used to determine the optimal acceptance rate.For high dimensional simplices, this proposal may have low acceptance ratios. In this case, please see the coordinate wise  proposal.mcmc'Beta proposal on a specific coordinate i on a simplex.For a given element of a K-dimensional simplex, propose a new element of the K-dimensional simplex. The coordinate i of the new element is sampled from the beta distribution. The other coordinates are normalized such that the values sum to 1.0. The parameters of the beta distribution are chosen such that the expected value of the beta distribution is the value of the old coordinate.The tuning parameter is used to determine the concentration of the beta distribution: the lower the tuning parameter, the higher the concentration. See also the  proposal.No "out of bounds" checks are performed during compile time. Run time errors can occur if i is negative, or if i-1 is larger than the length of the element vector of the simplex.This proposal has been assigned a dimension of 2. See the discussion at K. Additive proposals(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneVmcmc3Additive proposal with normally distributed kernel.mcmcAdditive proposal with normally distributed kernel with mean zero. This proposal is very fast, because the Metropolis-Hastings-Green ratio does not include calculation of the forwards and backwards kernels.mcmcAdditive proposal with uniformly distributed kernel with mean zero. This proposal is very fast, because the Metropolis-Hastings-Green ratio does not include calculation of the forwards and backwards kernels.mcmc3Additive proposal with normally distributed kernel.The two values are slid contrarily so that their sum stays constant. Contrary proposals are useful when parameters are confounded.mcmcMean.mcmcStandard deviation.mcmcName.mcmcWeight.mcmcEnable tuning.mcmcStandard deviation.mcmcName.mcmcWeight.mcmcEnable tuning.mcmcDelta.mcmcName.mcmcWeight.mcmcEnable tuning.mcmcMean.mcmcStandard deviation.mcmcName.mcmcWeight.mcmcEnable tuning.-Settings of Markov chain Monte Carlo samplers(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone ``mcmc"Analysis name of the MCMC sampler.mcmcBurn in specification.mcmc No burn in.mcmc)Burn in for a given number of iterations.mcmcBurn in for a given number of iterations. Enable auto tuning with a given period.mcmc*Number of normal iterations after burn in.2Note that auto tuning only happens during burn in.mcmc%Get the number of burn in iterations.mcmcExecution mode.mcmcPerform new run.Call  if an output files exists.mcmcPerform new run. Overwrite existing output files.mcmc3Continue a previous run and append to output files.Call " if an output file does not exist.mcmcParallelization mode.Parallel execution of the chains is only beneficial when the algorithm allows for parallelization, and if computation of the next iteration takes a long time. If the calculation of the next state is fast, sequential execution is usually beneficial, even for algorithms involving parallel chains. If the calculation of the next state is slow, parallel execution may be beneficial.The Mcmc.Algorithm.Metropolis$ algorithm is inherently sequential.The Mcmc.Algorithm.MC3+ algorithm works well with parallelization.Of course, also the prior or likelihood functions can be computed in parallel. However, this library is not aware of how these functions are computed.mcmc(Open a file honoring the execution mode.Call  if execution mode is and file does not exist. and file exists.mcmc3Should the MCMC run be saved at the end of the run?mcmcNot much to say here.mcmcSettings of an MCMC sampler.mcmc8Save settings to a file determined by the analysis name.mcmcLoad settings.mcmcCheck settings.Call  if:&The analysis name is the empty string.-The number of burn in iterations is negative.'Auto tuning period is zero or negative.%The number of iterations is negative.The current iteration is larger than the total number of iterations.The current iteration is non-zero but the execution mode is not .8The current iteration is zero but the execution mode is .mcmcCurrent iteration.''Monitor a Markov chain(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone h0mcmcBatch monitor to a file.Calculate summary statistics over the last given number of iterations (batch size). Construct with .mcmc$Monitor to a file; constructed with .mcmc-Monitor to standard output; constructed with .mcmcA  observing the chain.A  describes which part of the Markov chain should be logged and where. Further, they allow output of summary statistics per iteration in a flexible way.mcmc#Monitor writing to standard output.mcmcMonitors writing to files.mcmc7Monitors calculating batch means and writing to files.mcmcMonitor to standard output.mcmc%Header of monitor to standard output.mcmcMonitor parameters to a file.mcmc(Batch monitor parameters to a file, see .mcmcBatch monitor size.%Useful to determine the trace length.mcmc#Open the files associated with the .mcmcExecute monitors; print status information to files and return text to be printed to standard output and log file.mcmc$Close the files associated with the .mcmc+Instructions about which parameters to log.mcmcLogging period.mcmc$Name; used as part of the file name.mcmc+Instructions about which parameters to log.mcmcLogging period.mcmc$Name; used as part of the file name.mcmc;Instructions about how to calculate the summary statistics.mcmc Batch size.mcmc Verbositymcmc Iteration.mcmcStarting state.mcmcStarting time.mcmcTrace of Markov chain.mcmc-Total number of iterations; to calculate ETA.mcmc The monitor.'Simple representation of a Markov chain(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonepmcmc:The chain contains all information to run an MCMC sampler.The state of a chain has type a. If necessary, the type a2 can also be used to store auxiliary information.Continue an MCMC algorithm for the given number of iterations.Currently, it is only possible to continue MCMC algorithms that have completed successfully. This restriction is necessary, because for parallel chains, it is hardly possible to ensure all chains are synchronized when the process is killed.See:#Metropolis-Hastings-Green algorithm(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone {mcmcThe MHG algorithm.mcmcInitialize an MHG algorithm.mcmcSave an MHG algorithm.mcmcLoad an MHG algorithm.See  .mcmc1Accept or reject a proposal with given MHG ratio?mcmc%The initial state in the state space a.mcmcA source of randomness. For reproducible runs, make sure to use generators with the same seed.5Metropolis-coupled Markov chain Monte Carlo algorithm(c) Dominik Schrempf, 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone >mcmc Total number of parallel chains.Must be two or larger.mcmc3The period of proposing state swaps between chains.Must be one or larger.mcmc4The number of proposed swaps at each swapping event. Must be in [1, NChains - 1].mcmc MC3 settings.mcmc0The number of chains has to be larger equal two.mcmc"Vector of reciprocal temperatures.mcmcVector of MHG chains.mcmcThe MC3 algorithm.mcmc7The first chain is the cold chain with temperature 1.0.mcmc"Vector of reciprocal temperatures.mcmcCurrent iteration.mcmc&Number of accepted and rejected swaps.mcmc:Initialize an MC3 algorithm with a given number of chains.Call  if:%The number of chains is one or lower.$The swap period is zero or negative.mcmcSave an MC3 algorithm.mcmcLoad an MC3 algorithm.See  .!5Markov chain Monte Carlo samplers, batteries included(c) Dominik Schrempf 2020GPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneZ !"#$)*+,-./0125789:;<=>CNOPTUVW[\*TUVNOPCW<=>5[789:;\" Safe-Inferred#$%&&'()*+,-./01234567899:;<=>?@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^^_`abcddefghijkklmmnoopqqrstuvwxyz{|}~                      ######""""""""#mcmc-0.4.0.0-KPKRt8UaRnU8AoAutS7S5lMcmc.Monitor.ParameterMcmc.Chain.LinkMcmc.Chain.TraceMcmc.Monitor.LogMcmc.Monitor.ParameterBatchMcmc.Monitor.Time Mcmc.Prior Mcmc.ProposalMcmc.Proposal.BactrianMcmc.Proposal.GenericMcmc.Proposal.ScaleMcmc.Proposal.SimplexMcmc.Proposal.Slide Mcmc.Settings Mcmc.MonitorMcmc.Chain.ChainMcmc.Chain.SaveMcmc.EnvironmentMcmc.Algorithm Mcmc.McmcMcmc.Algorithm.MetropolisMcmc.Algorithm.MC3SeethawMcmc.Internal.ByteStringMcmc.Internal.RandomMcmc.Internal.Shufflebeta EnvironmentmhgLoadmc3Load mcmcContinueMcmc Paths_mcmcbaseData.Functor.Contravariant>$<Linkstateprior likelihood$fFromJSONLink $fToJSONLink$fEqLink $fOrdLink $fShowLink $fReadLinkTrace replicateTlengthTpushTheadTtakeTfreezeTthawT renderLogMonitorParametermpNamempFunc monitorInt monitorDoublemonitorDoubleFmonitorDoubleE$fContravariantMonitorParameterMonitorParameterBatchmbpNamembpFuncmonitorBatchMeanmonitorBatchMeanFmonitorBatchMeanE$$fContravariantMonitorParameterBatchrenderDurationrenderDurationS renderTime largerThanpositive lowerThannegative exponentialgammanormaluniformpoissonproduct' AcceptancefromAcceptanceCycle ccProposalsOrderRandomO SequentialORandomReversibleOSequentialReversibleOTuneNoTuneTunertParamtFuncProposalSimpleProposalpName pDescription pDimensionpWeightpSimplepTuner PDimensionPDimensionUnknownPWeight fromPWeight PDescriptionfromPDescriptionPName fromPName@~createProposaltunegetOptimalRate cycleFromListsetOrderorderProposals tuneCycle autoTuneCycleproposalHeader proposalHLinesummarizeProposalsummarizeCycleemptyApushAresetAtransformKeysAacceptanceRateacceptanceRates $fOrdProposal $fEqProposal$fDefaultOrder$fFromJSONAcceptance$fToJSONAcceptance$fEqAcceptance$fReadAcceptance$fShowAcceptance $fEqOrder $fShowOrder $fShowTune$fEqTune $fShowPWeight $fEqPWeight $fOrdPWeight$fShowPDescription$fEqPDescription$fOrdPDescription $fShowPName $fEqPName $fOrdPName $fMonoidPName$fSemigroupPName slideBactrian scaleBactriangenericContinuousgenericDiscretescale scaleUnbiasedscaleContrarilySimplextoVector $fEqSimplex $fShowSimplexsimplexFromVectorsimplexUniform dirichlet$fFromJSONSimplex$fToJSONSimplexslideslideSymmetricslideUniformSymmetricslideContrarily AnalysisNamefromAnalysisName$fEqAnalysisName$fReadAnalysisName$fShowAnalysisNameBurnInSpecificationNoBurnInBurnInWithoutAutoTuningBurnInWithAutoTuning$fFromJSONAnalysisName$fToJSONAnalysisName$fEqBurnInSpecification$fReadBurnInSpecification$fShowBurnInSpecification IterationsfromIterationsburnInIterations$fFromJSONBurnInSpecification$fToJSONBurnInSpecification$fEqIterations$fReadIterations$fShowIterations ExecutionModeFail OverwriteContinue$fFromJSONIterations$fToJSONIterations$fEqExecutionMode$fReadExecutionMode$fShowExecutionModeParallelizationMode SequentialParallelopenWithExecutionMode$fFromJSONExecutionMode$fToJSONExecutionMode$fEqParallelizationMode$fReadParallelizationMode$fShowParallelizationModeSaveModeNoSaveSave$fFromJSONParallelizationMode$fToJSONParallelizationMode $fEqSaveMode$fReadSaveMode$fShowSaveMode VerbosityQuietWarnInfoDebug$fFromJSONSaveMode$fToJSONSaveMode $fEqVerbosity$fOrdVerbosity$fReadVerbosity$fShowVerbositySettings sAnalysisNamesBurnIn sIterationssExecutionModesParallelizationMode sSaveMode sVerbosity$fFromJSONVerbosity$fToJSONVerbosity $fEqSettings$fShowSettings settingsSave settingsLoad settingsCheck$fFromJSONSettings$fToJSONSettings MonitorBatch MonitorFile MonitorStdOutMonitormStdOutmFilesmBatches monitorStdOutmsHeader monitorFile monitorBatchgetMonitorBatchSizemOpenmExecmCloseChainchainIdlink iterationtrace acceptance generatorstart priorFunctionlikelihoodFunctioncyclemonitorLikelihoodFunction PriorFunctionnoPrior noLikelihood SavedChainsavedId savedLinksavedIteration savedTracesavedAcceptance savedSeedsavedTuningParameters$fEqSavedChain$fReadSavedChain$fShowSavedChain toSavedChainfromSavedChain$fFromJSONSavedChain$fToJSONSavedChainsettings logHandle startingTimeinitializeEnvironment$fEqEnvironment$fShowEnvironment AlgorithmaName aIterationaIterate aAutoTuneaResetAcceptanceaSummarizeCycle aOpenMonitorsaExecuteMonitorsaStdMonitorHeaderaCloseMonitorsaSavemcmcMHGfromMHGmhgmhgSave mhgAccept$fAlgorithmMHGNChains fromNChains $fEqNChains $fReadNChains $fShowNChains SwapPeriodfromSwapPeriod$fFromJSONNChains$fToJSONNChains$fEqSwapPeriod$fReadSwapPeriod$fShowSwapPeriodNSwaps fromNSwaps$fFromJSONSwapPeriod$fToJSONSwapPeriod $fEqNSwaps $fReadNSwaps $fShowNSwaps MC3Settings mc3NChains mc3SwapPeriod mc3NSwaps$fFromJSONNSwaps$fToJSONNSwaps$fEqMC3Settings$fReadMC3Settings$fShowMC3SettingsReciprocalTemperatures MHGChains$fFromJSONMC3Settings$fToJSONMC3Settings $fEqSavedMC3$fReadSavedMC3$fShowSavedMC3MC3 mc3Settings mc3MHGChainsmc3ReciprocalTemperatures mc3Iterationmc3SwapAcceptance mc3Generatormc3mc3Save$fFromJSONSavedMC3$fToJSONSavedMC3$fAlgorithmMC3GHC.Errerror'circular-0.3.1.1-KBgv9Wt7BP6HbpWcLhmStZData.Stack.CirculargettakefreezealignRightWithNoTrimalignRightWith alignRight alignLeftWith alignLeftsplitGensaveGenloadGenshufflegrabbleghc-prim GHC.TypesDoubleInt GHC.MaybeNothingGHC.RealrecipGHC.Numnegate Data.EitherLeftMaybeversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName