h$      !"#$%&'()*+,-./0123456789 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                           !!!!!!!!!!!!!!!""################################)Handle acceptance rates2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportableNone mcmc*Number of accepted and rejected proposals.mcmcAcceptance rate. mcmc For each key k6, store the number of accepted and rejected proposals.mcmc$In the beginning there was the Word.8Initialize an empty storage of accepted/rejected values.mcmcFor key k, add an accept.mcmcFor key k, add a reject.mcmcFor key k, add acceptance counts.mcmcReset acceptance storage.mcmcTransform keys using the given lists. Keys not provided will not be present in the new   variable.mcmc3Acceptance counts and rate for a specific proposal.Return  if no proposals have been accepted or rejected (division by zero).mcmc#Acceptance rates for all proposals. Set rate to  if no proposals have been accepted or rejected (division by zero).  $ByteString tools2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-InferredmcmcFor 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 calculations2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-InferredmcmcSave a generator to a seed.mcmcLoad a generator from a seed.&Shuffle a list2021 Dominik SchrempfGPL-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.8Generalized gamma function for automatic differentiation2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportableNone*mcmc8Generalized version of the log gamma distribution. See .mcmc8Generalized version of the log factorial function. See .-Types and convenience functions for Jacobians2022 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportable Safe-InferredmcmcFunction calculating the !.mcmcFunction calculating the !. mcmcGeneralized Jacobian.!mcmc9Absolute value of the determinant of the Jacobian matrix. !! 9Types and convenience functions for computing likelihoods2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportable Safe-Inferred@"mcmc Generalized likelihood function.#mcmcLikelihood function.$mcmcGeneralized likelihood.%mcmc+Likelihood values are stored in log domain.&mcmc;Flat likelihood function. Useful for testing and debugging."#$%&%$#"&Monitor logarithmic values2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone'mcmcPrint a log value.''Monitor parameters2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone=(mcmc)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 parameters2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone!1mcmcInstruction 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.3mcmc"Name of batch monitored parameter.4mcmc2For a given batch, extract the summary statistics.5mcmcBatch mean monitor.:Print the mean with eight decimal places (half precision).6mcmcBatch mean monitor.Print the mean with full precision computing the shortest string of digits that correctly represent the number.7mcmcBatch mean monitor.(Print the real float parameters such as 4 with scientific notation and eight decimal places.5mcmcName.6mcmcName.7mcmcName.12345671234567 Print time related values2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-Inferred "9mcmc;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.9:;9:; (Types for posterior values and functions2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportable Safe-Inferred#<mcmcGeneralized posterior function.=mcmcPosterior function.>mcmcGeneralized posterior.?mcmc*Posterior values are stored in log domain.<=>??>=< 8Proposals are instruction to move around the state space2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone <=A(@mcmcAuxiliary tuning parameters.Auxiliary tuning parameters are not shown in proposal summaries.Vector may be empty.AmcmcCompute new tuning parameters.Bmcmc$The last tuning step may be special.EmcmcTuning parameter.The larger the tuning parameter, the larger the proposal and the lower the expected acceptance rate; and vice versa.FmcmcTune proposal?ImcmcRequired information to tune Vs.Mmcmc=Does the tuner require the trace over the last tuning period?OmcmcGiven the tuning parameter, and the auxiliary tuning parameters, get the tuned propose function.Should return : if the vector of auxiliary tuning parameters is invalid.Pmcmc4Simple proposal function without tuning information.Instruction about randomly moving from the current state to a new state, given some source of randomness.Maybe report acceptance counts internal to the proposal (e.g., used by proposals based on Hamiltonian dynamics).QmcmcProposal result.RmcmcAccept the new value regardless of the prior, likelihood or Jacobian.SmcmcReject the proposal regardless of the prior, likelihood or Jacobian.TmcmcPropose a new value.In order to calculate the Metropolis-Hastings-Green ratio, we need to know the ratio of the backward to forward kernels (the U> or the probability masses or probability densities) and the !.NOTE: Actually the ! should be part of the U. However, it is more declarative to have them separate. Like so, we are constantly reminded: Is the Jacobian modifier different from 1.0?UmcmcRatio of the proposal kernels.=For unbiased, volume preserving proposals, the values is 1.0.For biased proposals, the kernel ratio is qYX / qXY, where qAB is the probability density to move from A to B.VmcmcA V 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 V may be tuneable in that it contains information about how to enlarge or shrink the proposal size to decrease or increase the acceptance rate.Predefined proposals are provided. To create custom proposals, one may use the convenience function r.XmcmcName of the affected variable.Ymcmc0Description of the proposal type and parameters.\mcmc"The weight determines how often a V0 is executed per iteration of the Markov chain.]mcmcSimple proposal function without name, weight, and tuning information.^mcmcTuning is disabled if set to ._mcmc4Rough indication whether a proposal is fast or slow.Useful during burn in. Slow proposals are not executed during fast auto tuning periods.See '.bmcmcProposal dimension./The number of affected, independent parameters.The dimension is used to calculate the optimal acceptance rate, and does not have to be exact.Usually, the optimal acceptance rate of low dimensional proposals is higher than for high dimensional ones. However, this is not always true (see below).Further, optimal acceptance rates are still subject to controversies. To my knowledge, research has focused on random walk proposals with multivariate normal distributions 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? Here, the dimension is set 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), the dimension of the proposal is set to the number of variables changed.Moreover, proposals of unknown dimension are assumed to have high dimension, and the optimal acceptance rate 0.234 is used.Finally, special proposals may have completely different desired acceptance rates. For example. the Hamiltonian Monte Carlo proposal (see Mcmc.Proposal.Hamiltonian.hmc) has a desired acceptance rate of 0.65. Specific acceptance rates can be set with e.emcmcProvide dimension () and desired acceptance rate ().fmcmc+The positive weight determines how often a V is executed per iteration of the Markov chain. Abstract data type; for construction, see n.hmcmcProposal description.kmcmcProposal name.nmcmc Check if the weight is positive.Call  if weight is zero or negative.omcmc.Lift a proposal from one data type to another.Assume the Jacobian is 1.0. For example: %scaleFirstEntryOfTuple = _1 @~ scale  See also q.pmcmcSee o.qmcmc.Lift a proposal from one data type to another.A function to calculate the Jacobian has to be provided. If the Jabobian is 1.0, use p.&For further reference, please see the  https://github.com/dschrempf/mcmc/blob/master/mcmc-examples/Pair/Pair.hs example Pair.rmcmc1Create a proposal with a single tuning parameter.Proposals with auxiliary tuning parameters have to be created manually. See I for more information, and  ) for an example.smcmcDefault tuning function.The default tuning function only uses the acceptance rate. In particular, it does not handle auxiliary tuning parameters and ignores the actual samples attained during the last tuning period.tmcmc&Also tune auxiliary tuning parameters.umcmc&Only tune auxiliary tuning parameters.vmcmc,Minimal tuning parameter; subject to change.wmcmc,Maximal tuning parameter; subject to change.xmcmcTune a V.The size of the proposal is proportional to the tuning parameter which has positive lower and upper boundaries of v and w, respectively.4Auxiliary tuning parameters may also be used by the I of the proposal.Return  if:the V is not tuneable;,the auxiliary tuning parameters are invalid.Used by *.ymcmcSee b.zmcmcHeader of proposal summaries.{mcmcProposal summary.Amcmc&Acceptance rate of last tuning period.mcmcTrace of last tuning period. Only available when requested by proposal.rmcmc0Description of the proposal type and parameters.mcmcFunction creating a simple proposal function for a given tuning parameter.mcmcSpeed.mcmc Dimension.mcmcName.mcmcWeight.mcmcActivate tuning?tmcmcAuxiliary tuning function.umcmcAuxiliary tuning function.>!@ABDCEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{>klmhijfgnbcde_`aVWXYZ[\]^UQRST!opqPrIJKLMNOFGHEBDCA@stuvwxyz{o7 A cycle is a list of proposals2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportableNone J0mcmc.Use all proposals, or use fast proposals only?mcmc In brief, a  is a list of proposals.s are executed sequentially, in the order they appear in the . Vs with weight w>1 are repeated immediately w2 times (and not appended to the end of the list).mcmc Similar to 5. However, a reversed copy of the list of shuffled Vs is appended such that the resulting Markov chain is reversible. Note: the total number of V.s executed per cycle is twice the number of .mcmc Similar to . However, a reversed copy of the list of sequentially ordered Vs is appended such that the resulting Markov chain is reversible.mcmc Create a  from a list of Vs.mcmcSet the order of Vs in a .mcmc Replicate V7s according to their weights and possibly shuffle them.mcmc.Calculate acceptance rates and auto tunes the V s in the .Do not change Vs that are not tuneable.mcmc&Horizontal line of proposal summaries.mcmcSummarize the V s in the . Also report acceptance rates. (Generic interface for creating proposals2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneSmcmcGeneric function to create proposals for continuous parameters (e.g., ).!The procedure is as follows: Let  \mathbb{X} be the state space and x be the current state. Let D- be a continuous probability distribution on  \mathbb{D}#; sample an auxiliary variable epsilon \sim D.Suppose 3\odot : \mathbb{X} \times \mathbb{D} \to \mathbb{X}. PFunction a new state x' = x \odot \epsilon.If the proposal is unbiased, the Metropolis-Hastings-Green ratio can directly be calculated using the posterior function.However, if the proposal is biased: Suppose (g : mathbb{D} to mathbb{D}) inverses the auxiliary variable \epsilon such that (x = x' odot g(epsilon)). Calculate the Metropolis-Hastings-Green ratio using the posterior function, g, D, \epsilon', and possibly a Jacobian function.mcmcGeneric function to create proposals for discrete parameters (e.g., ).See .mcmcProbability distributionmcmcForward operator \odot.For example, for a multiplicative proposal on one variable the forward operator is (*) , so that  x * u = y.mcmcInverse operator g of the auxiliary variable. 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 the 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.mcmcForward operator.&For example, (+), so that x + dx = x'.mcmcInverse operator g of the auxiliary variable. For example, , so that x' + (negate dx) = x.#Only required for biased proposals.,Types indicating properties of distributions2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportable Safe-InferredVy mcmc!Upper boundary of a distribution.mcmc!Lower boundary of a distribution.mcmcSize of a distribution.For example, the size of the interval of the uniform distribution.mcmcDimension of a distribution.mcmcRate of a distribution.mcmcScale of a distribution.mcmcShape of a distribution.mcmcVariance of a distribution.mcmc%Standard deviation of a distribution.mcmcMean of a distribution.  Additive proposals2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneYmcmcAdditive proposal.3A normal distribution is used to sample the addend.mcmcSee .Use a normal distribution with mean zero. This proposal is fast, because the Metropolis-Hastings-Green ratio does not include calculation of the forwards and backwards kernels.mcmcSee .Use a uniformly distributed kernel with mean zero. This proposal is fast, because the Metropolis-Hastings-Green ratio does not include calculation of the forwards and backwards kernels.mcmcSee ."Use a normally distributed kernel.The two values are slid contrarily so that their sum stays constant. Contrary proposals are useful when parameters are confounded.Proposals on simplices2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonecmcmcAn 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 rates. 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 b.Multiplicative proposals2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneg!mcmcMultiplicative proposal.The gamma distribution is used to sample the multiplier. Therefore, this and all derived proposals are log-additive in that they do not change the sign of the state. Further, the value zero is never proposed when having a strictly positive value.Consider using +6 to allow proposition of values having opposite sign.mcmcSee .The scale of the gamma distribution is set to (shape)^{-1}, so that the mean of the gamma distribution is 1.0.mcmcSee .The two values are scaled contrarily so that their product stays constant. Contrary proposals are useful when parameters are confounded.Bactrian proposals2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonejmcmc,Type synonym indicating the spike parameter.mcmcAdditive 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 ,, and .4Types and convenience functions for computing priors2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNonermcmcGeneralized prior function.mcmcPrior function.mcmcGeneralized prior.mcmc&Prior values are stored in log domain.mcmc6Flat prior function. Useful for testing and debugging.mcmcContinue 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 or fails.See:7 8#!Calculate the marginal likelihood2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNone в mcmc/Settings of the marginal likelihood estimation.mcmc2Initial burn in at the starting point of the path.mcmc-Repetitive burn in at each point on the path.mcmc1The number of iterations performed at each point.mcmc0Algorithms to calculate the marginal likelihood.mcmcUse a classical path integral. Also known as thermodynamic integration. In particular, Annealing-Melting Integration is used.See Lartillot, N., & Philippe, H., Computing Bayes Factors Using Thermodynamic Integration, Systematic Biology, 55(2), 195@207 (2006). +http://dx.doi.org/10.1080/10635150500433722mcmcUse stepping stone sampling.See Xie, W., Lewis, P. O., Fan, Y., Kuo, L., & Chen, M., Improving marginal likelihood estimation for Bayesian phylogenetic model selection, Systematic Biology, 60(2), 150@160 (2010). 'http://dx.doi.org/10.1093/sysbio/syq085Or Fan, Y., Wu, R., Chen, M., Kuo, L., & Lewis, P. O., Choosing among partition models in bayesian phylogenetics, Molecular Biology and Evolution, 28(1), 523@532 (2010). 'http://dx.doi.org/10.1093/molbev/msq224mcmc;The number of points used to approximate the path integral.mcmc4Marginal likelihood values are stored in log domain.mcmc!Estimate the marginal likelihood.5Markov chain Monte Carlo samplers, batteries included2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportableNoneѪ !"#$%&()*+,-./1234567<=>?FGHVfgklmnopq,klmfgnVopqFGH9:;<=><=?<=@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddefghijkllmnopqr s t u v w x y z { | } ~                           3                                                                     +(,'4*7                                                 8   !5!5!!!!!!!!!!!!!""6################################9$$$$$%%&&9999-----------...................11111111#mcmc-0.7.0.0-CLJ50z9Mwy51CJZj7IE6JaMcmc.Monitor.ParameterMcmcMcmc.AcceptanceMcmc.Internal.SpecFunctions Mcmc.JacobianMcmc.LikelihoodMcmc.Monitor.LogMcmc.Monitor.ParameterBatchMcmc.Monitor.TimeMcmc.Posterior Mcmc.Proposal Mcmc.CycleMcmc.Proposal.GenericMcmc.Statistics.TypesMcmc.Proposal.SlideMcmc.Proposal.SimplexMcmc.Proposal.ScaleMcmc.Proposal.Bactrian Mcmc.Prior Mcmc.Proposal.Hamiltonian.CommonMcmc.Proposal.Hamiltonian.NutsMcmc.Chain.LinkMcmc.Chain.Trace Mcmc.Logger Mcmc.Settings Mcmc.MonitorMcmc.Chain.ChainMcmc.Chain.SaveMcmc.AlgorithmMcmc.Algorithm.MHG%Mcmc.Proposal.Hamiltonian.HamiltonianMcmc.Algorithm.MC3Mcmc.Environment Mcmc.McmcMcmc.MarginalLikelihoodMcmc.Internal.ByteStringMcmc.Internal.RandomMcmc.Internal.ShuffleBurnInSettingsbeta HamiltonianfromSavedChainslidescale Mcmc.Proposal.Hamiltonian.Masses"Mcmc.Proposal.Hamiltonian.InternalSeethaw Paths_mcmcMcmc.ProposalsPSpeed MonitorBatch Environment mcmcContinuemhgLoadmc3LoadbaseData.Functor.Contravariant>$<(log-domain-0.13.2-C7uFMl73uumJDiXDYZkvXr Numeric.LoglnExpLogAcceptanceCounts nAccepted nRejectedAcceptanceRate$fShowAcceptanceCounts$fEqAcceptanceCounts$fOrdAcceptanceCounts AcceptancefromAcceptanceemptyA pushAccept pushRejectpushAcceptanceCountsresetAtransformKeysAacceptanceRateacceptanceRates$fFromJSONAcceptanceCounts$fToJSONAcceptanceCounts$fFromJSONAcceptance$fToJSONAcceptance$fEqAcceptance$fShowAcceptance logGammaG logFactorialGJacobianFunctionGJacobianFunction JacobianGJacobianLikelihoodFunctionGLikelihoodFunction LikelihoodG Likelihood noLikelihood renderLogMonitorParametermpNamempFunc monitorInt monitorDoublemonitorDoubleFmonitorDoubleE$fContravariantMonitorParameterMonitorParameterBatchmbpNamembpFuncmonitorBatchMeanmonitorBatchMeanFmonitorBatchMeanE$$fContravariantMonitorParameterBatchrenderDurationrenderDurationS renderTimePosteriorFunctionGPosteriorFunction PosteriorG PosteriorAuxiliaryTuningParametersTuningFunction TuningTypeNormalTuningStepLastTuningStepTuningParameterTuneNoTuneTunertTuningParametertAuxiliaryTuningParameters tRequireTracetTuningFunction tGetPFunction PFunctionPResult ForceAccept ForceRejectPropose KernelRatioProposalprName prDescriptionprSpeed prDimensionprWeight prFunctionprTunerPFastPSlow PDimensionPDimensionUnknownPSpecialPWeight fromPWeight PDescriptionfromPDescriptionPName fromPNamepWeight@~ liftProposalliftProposalWithcreateProposaltuningFunctiontuningFunctionWithAuxtuningFunctionOnlyAuxtuningParameterMintuningParameterMaxtuneWithTuningParametersgetOptimalRateproposalHeadersummarizeProposal $fOrdProposal $fEqProposal $fShowTune$fEqTune $fShowPResult $fEqPResult $fEqPSpeed $fShowPWeight $fEqPWeight $fOrdPWeight$fShowPDescription$fEqPDescription$fOrdPDescription $fShowPName $fEqPName $fOrdPName $fMonoidPName$fSemigroupPName IterationMode AllProposals FastProposalsCycle ccProposalsccRequireTraceOrderRandomO SequentialORandomReversibleOSequentialReversibleO cycleFromListsetOrderprepareProposals autoTuneCycle proposalHLinesummarizeCycle$fDefaultOrder$fEqIterationMode $fEqOrder $fShowOrdergenericContinuousgenericDiscrete UpperBoundary LowerBoundarySize DimensionRateScaleShapeVarianceStandardDeviationMeanslideSymmetricslideUniformSymmetricslideContrarilySimplextoVector $fEqSimplex $fShowSimplexsimplexFromVectorsimplexUniform dirichlet$fFromJSONSimplex$fToJSONSimplex scaleUnbiasedscaleContrarilySpikeParameter slideBactrian scaleBactrianPriorFunctionG PriorFunctionPriorGPriornoPrior greaterThanpositivelessThannegative exponentialgammagammaMeanVariance gammaMeanOnegammaShapeScaleToMeanVariancegammaMeanVarianceToShapeScale logNormalnormaluniformpoissonproduct'HTargethPrior hLikelihood hJacobian HStructurehSample hToVectorhFromVectorWith HTuningConf HTuneMasses HNoTuneMassesHTuneDiagonalMassesOnlyHTuneAllMasses HTuneLeapfrogHNoTuneLeapfrogLeapfrogSimulationLengthLeapfrogScalingFactorLeapfrogTrajectoryLengthMassesMomenta Positions$fEqHTuningConf$fShowHTuningConf$fEqHTuneMasses$fShowHTuneMasses$fEqHTuneLeapfrog$fShowHTuneLeapfrogNParamsnLeapfrogScalingFactornMassesdefaultNParamsnuts $fShowNParamsLinkstateprior likelihood$fFromJSONLink $fToJSONLink$fEqLink $fOrdLink $fShowLink $fReadLinkTrace replicateT fromVectorTlengthTpushTheadTtakeTfreezeTthawTLogModeLogStdOutAndFile LogStdOutOnly LogFileOnly $fEqLogMode $fReadLogMode $fShowLogMode VerbosityQuietWarnInfoDebug$fFromJSONLogMode$fToJSONLogMode $fEqVerbosity$fOrdVerbosity$fReadVerbosity$fShowVerbosityLogger HasVerbosity getVerbosity HasLogMode getLogModeHasStartingTimegetStartingTime HasLogHandles getLogHandlesHasLockgetLocklogOutB logDebugB logDebugSlogWarnBlogWarnSlogInfoBlogInfoS logInfoHeaderlogInfoStartingTimelogInfoEndTime$fFromJSONVerbosity$fToJSONVerbosity AnalysisNamefromAnalysisName$fEqAnalysisName$fReadAnalysisName$fShowAnalysisName$fMonoidAnalysisName$fSemigroupAnalysisNameNoBurnInBurnInWithoutAutoTuningBurnInWithAutoTuningBurnInWithCustomAutoTuningHasAnalysisNamegetAnalysisName$fFromJSONAnalysisName$fToJSONAnalysisName$fEqBurnInSettings$fReadBurnInSettings$fShowBurnInSettings IterationsfromIterationsburnInIterations$fFromJSONBurnInSettings$fToJSONBurnInSettings$fEqIterations$fReadIterations$fShowIterations TraceLength TraceAuto TraceMinimum$fFromJSONIterations$fToJSONIterations$fEqTraceLength$fShowTraceLength ExecutionModeFail OverwriteContinue$fFromJSONTraceLength$fToJSONTraceLength$fEqExecutionMode$fReadExecutionMode$fShowExecutionModeParallelizationMode SequentialParallelHasExecutionModegetExecutionModeopenWithExecutionMode$fFromJSONExecutionMode$fToJSONExecutionMode$fEqParallelizationMode$fReadParallelizationMode$fShowParallelizationModeSaveModeNoSaveSave$fFromJSONParallelizationMode$fToJSONParallelizationMode $fEqSaveMode$fReadSaveMode$fShowSaveModeSettings sAnalysisNamesBurnIn sIterations sTraceLengthsExecutionModesParallelizationMode sSaveModesLogMode sVerbosity$fFromJSONSaveMode$fToJSONSaveMode$fHasVerbositySettings$fHasLogModeSettings$fHasExecutionModeSettings$fHasAnalysisNameSettings $fEqSettings$fShowSettings settingsSave settingsLoad settingsChecksettingsPrettyPrint$fFromJSONSettings$fToJSONSettings BatchSize MonitorFile MonitorStdOutPeriodMonitormStdOutmFilesmBatches simpleMonitor monitorStdOutmsHeader monitorFile monitorBatchgetMonitorBatchSizemOpenmExecmCloseChainchainIdlink iterationtrace acceptance generatorstart priorFunctionlikelihoodFunctioncyclemonitor InitialState SavedChainsavedId savedLinksavedIteration savedTracesavedAcceptance savedSeedsavedTuningParameters$fEqSavedChain$fShowSavedChain toSavedChainfromSavedChainUnsafe$fFromJSONSavedChain$fToJSONSavedChain AlgorithmaName aIterationaIsInValidStateaIterate aAutoTuneaResetAcceptanceaCleanAfterBurnInaSummarizeCycle aOpenMonitorsaExecuteMonitorsaStdMonitorHeaderaCloseMonitorsaSaveMHGRatioMHGfromMHGmhgmhgSave mhgLoadUnsafe mhgAccept$fAlgorithmMHGHParamshLeapfrogScalingFactorhLeapfrogSimulationLengthhMassesdefaultHParams hamiltonian $fShowHParamsNChains 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$fShowSavedMC3MC3 mc3Settings mc3MHGChainsmc3ReciprocalTemperatures mc3Iterationmc3SwapAcceptance mc3Generatormc3mc3Save$fFromJSONSavedMC3$fToJSONSavedMC3$fAlgorithmMC3settings logHandlesoutLock startingTimeinitializeEnvironmentcloseEnvironment$fHasVerbosityEnvironment$fHasLogModeEnvironment$fHasStartingTimeEnvironment$fHasLogHandlesEnvironment$fHasLockEnvironment$fHasExecutionModeEnvironment$fEqEnvironmentmcmc MLSettingsmlAnalysisName mlAlgorithm mlNPointsmlInitialBurnIn mlPointBurnIn mlIterationsmlExecutionMode mlLogMode mlVerbosity MLAlgorithmThermodynamicIntegrationSteppingStoneSamplingNPoints fromNPointsMarginalLikelihoodmarginalLikelihood$fHasVerbosityMLSettings$fHasLogModeMLSettings$fHasExecutionModeMLSettings$fHasAnalysisNameMLSettings$fEqMLSettings$fReadMLSettings$fShowMLSettings$fEqMLAlgorithm$fReadMLAlgorithm$fShowMLAlgorithm $fEqNPoints $fReadNPoints $fShowNPoints GHC.MaybeNothingalignRightWithNoTrimalignRightWith alignRight alignLeftWith alignLeftsaveGenloadGenshufflegrabble-math-functions-0.3.4.2-G2AGRi1mVb7EediY1Q5wKQNumeric.SpecFunctions.InternallogGamma logFactorialghc-prim GHC.TypesDoubleInt Data.EitherLeftGHC.ErrerrorGHC.RealrecipGHC.NumnegateMassesIMu toGMatrix cleanMatrix getMassesIgetMusmassesToVectorvectorToMassestuneDiagonalMassesOnly tuneAllMassesleapfrogTargetHParamsIhpsLeapfrogScalingFactorhpsLeapfrogSimulationLength hpsMasses hpsTParamsVarhpsTParamsFixed hpsMassesIhpsMu hParamsIWithtoAuxiliaryTuningParametersfromAuxiliaryTuningParametersfindReasonableEpsilonhTuningFunctionWithcheckHStructureWithgenerateMomentaexponentialKineticEnergy'circular-0.4.0.3-6dHqGZ5p6SC6iwi6T01lefData.Stack.Circulargettakefreezeversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameIO