h&ڣ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF 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 experimentalportable Safe-Inferredmcmc*Number of accepted and rejected proposals.mcmcAcceptance rate. mcmcProposals based on Hamiltonian dynamics use expected acceptance rates, not counts.mcmcStored actual acceptance counts and maybe expected acceptance rates.mcmcReset acceptance specification.mcmc=Reset actual acceptance counts and expected acceptance rates.mcmc%Only reset expected acceptance rates.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.!mcmcReset acceptance counts."mcmcTransform keys using the given lists. Keys not provided will not be present in the new  variable.#mcmcCompute acceptance counts, and actual and expected acceptances rates for a specific proposal.Return (Just (accepts, rejects, acceptance rate).Return  if no proposals have been accepted or rejected (division by zero).$mcmc2Compute actual acceptance rates for all proposals. Set rate to  if no proposals have been accepted or rejected (division by zero).#mcmc.(nAccepts, nRejects, actualRate, expectedRate)  !"#$  !"#$$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.comunstableportable Safe-InferredZmcmcShuffle a vector.8Generalized gamma function for automatic differentiation2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportable Safe-Inferred+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-Inferred-mcmcFunction calculating the /..mcmcFunction calculating the /./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-Inferred0mcmc Generalized likelihood function.1mcmcLikelihood function.2mcmc+Likelihood values are stored in log domain.3mcmc;Flat likelihood function. Useful for testing and debugging.01232103Monitor logarithmic values2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-Inferred=4mcmcPrint a log value.44Monitor parameters2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-Inferred-5mcmc)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 7mcmcName of parameter.8mcmc>Instruction about how to extract the parameter from the state.9mcmcMonitor .:mcmcMonitor , with eight decimal places (half precision).;mcmcMonitor  with full precision.<mcmcMonitor  in scientific format.9mcmcName.:mcmcName.;mcmcName.<mcmcName. 56789:;< 56789:;<Batch monitor parameters2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-Inferred!>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.Amcmc2For a given batch, extract the summary statistics.BmcmcBatch mean monitor.:Print the mean with eight decimal places (half precision).CmcmcBatch mean monitor.#Print the mean with full precision.DmcmcBatch mean monitor.(Print the real float parameters such as  with scientific notation.BmcmcName.CmcmcName.DmcmcName.>?@ABCD>?@ABCD Print time related values2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-Inferred"#8Fmcmc;Adapted from System.ProgressBar.renderDuration of package  ?https://hackage.haskell.org/package/terminal-progress-bar-0.4.1terminal-progressbar-0.4.1.GmcmcRender duration in seconds.HmcmcRender a time stamp.FGHFGH (Types for posterior values and functions2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportable Safe-Inferred$cImcmcGeneralized posterior function.JmcmcPosterior function.Kmcmc*Posterior values are stored in log domain.IJKKJI 8Proposals are instruction to move around the state space2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-Inferred"?C-LmcmcAuxiliary tuning parameters.Auxiliary tuning parameters are not shown in proposal summaries.Vector may be empty.MmcmcCompute new tuning parameters.NmcmcTuning type. To distinguish between fast and slow proposals, see  '.Omcmc,Normal tuning step with fast proposals only.PmcmcIntermediate tuning step executed after each iteration with fast proposals only. Only suitable for proposals which can calculate expected acceptance rates.Qmcmc=The last tuning step with fast proposals only may be special.Rmcmc$Normal tuning step of all proposals.Smcmc*Intermediate tuning step of all proposals.Tmcmc(The last tuning step with all proposals.UmcmcTuning parameter.The larger the tuning parameter, the larger the proposal and the lower the expected acceptance rate; and vice versa.VmcmcTune proposal?YmcmcRequired information to tune gs.]mcmc=Does the tuner require the trace over the last tuning period?^mcmc3Can the tuner be used for intermediate tuning (see N)?`mcmcGiven the tuning parameter, and the auxiliary tuning parameters, get the tuned propose function.Should return : if the vector of auxiliary tuning parameters is invalid.amcmc4Simple 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 rates internal to the proposal (e.g., used by proposals based on Hamiltonian dynamics).bmcmcProposal result.cmcmcAccept the new value regardless of the prior, likelihood or Jacobian.dmcmcReject the proposal regardless of the prior, likelihood or Jacobian.emcmcPropose 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 f> or the probability masses or probability densities) and the /. Note: The / should be part of the f. However, it is more declarative to have them separate. Like so, we are constantly reminded: Is the Jacobian modifier different from 1.0?fmcmcRatio 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.gmcmcA g 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 g 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 .imcmcName of the affected variable.jmcmc0Description of the proposal type and parameters.mmcmc"The weight determines how often a g0 is executed per iteration of the Markov chain.nmcmcSimple proposal function without name, weight, and tuning information.omcmcTuning is disabled if set to .pmcmc4Rough indication whether a proposal is fast or slow.Useful during burn in. Slow proposals are not executed during fast auto tuning periods.See (.smcmcProposal 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 v.vmcmcProvide dimension () and desired acceptance rate ().wmcmc+The positive weight determines how often a g is executed per iteration of the Markov chain. Abstract data type; for construction, see .ymcmcProposal description.|mcmcProposal name.mcmc Check if the weight is positive.Call  if weight is zero or negative.mcmc1Create a proposal with a single tuning parameter.Proposals with auxiliary tuning parameters have to be created manually. See Y for more information, and  * for an example.mcmcDefault tuning function.The default tuning function only uses the actual acceptance rate. In particular, it does not handle auxiliary tuning parameters, ignores intermediate tuning steps, and ignores the actual samples attained during the last tuning period.mcmc,Minimal tuning parameter; subject to change.mcmc,Maximal tuning parameter; subject to change.mcmcTune a g.The size of the proposal is proportional to the tuning parameter which has positive lower and upper boundaries of  and , respectively.4Auxiliary tuning parameters may also be used by the Y of the proposal.Return  if:the g is not tuneable;,the auxiliary tuning parameters are invalid.Used by +.mcmcSee s.mcmc.Lift a proposal from one data type to another.Assume the Jacobian is 1.0. For example: %scaleFirstEntryOfTuple = _1 @~ scale  See also .mcmcSee .mcmc.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 .&For further reference, please see the  https://github.com/dschrempf/mcmc/blob/master/mcmc-examples/Pair/Pair.hs example Pair.mcmcHeader of proposal summaries.mcmcProposal summary.MmcmcAcceptance rate of last tuning period. May not always be available because proposals may be skipped.mcmcTrace of last tuning period. Not available for intermediate tuning' steps (see N), and only available for other tuning types when requested by proposal.mcmc0Description of the proposal type and parameters.mcmcFunction creating a simple proposal function for a given tuning parameter.mcmcSpeed.mcmc Dimension.mcmcName.mcmcWeight.mcmcActivate tuning?./LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|}~yz{wxstuvpqrghijklmnofbcde/.aYZ[\]^_`VWXUNOPQRSTML7 A cycle is a list of proposals2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportable Safe-Inferred"Mkmcmc.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 . gs 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 gs is appended such that the resulting Markov chain is reversible. Note: the total number of g.s executed per cycle is twice the number of .mcmc Similar to . However, a reversed copy of the list of sequentially ordered gs is appended such that the resulting Markov chain is reversible.mcmc Create a  from a list of gs; use  , but see .mcmcSet the order of gs in a .mcmc Replicate g7s according to their weights and possibly shuffle them.mcmc.Calculate acceptance rates and auto tunes the g s in the .Do not change gs that are not tuneable.mcmcSummarize the g s in the . Also report acceptance rates. (Generic interface for creating proposals2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-InferredW6mcmcGeneric function to create proposals using a continuous auxiliary variable of type .!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 u \sim D.Let 3\odot : \mathbb{X} \times \mathbb{D} \to \mathbb{X}. Propose a new state x' = x \odot u.If the proposal is unbiased, the Metropolis-Hastings-Green ratio can directly be calculated using the posterior function.(However, if the proposal is biased: Let g : \mathbb{D} \to \mathbb{D}; g! inverses the auxiliary variable u such that x = x' \odot g(u). Calculate the Metropolis-Hastings-Green ratio using the posterior function, g, D, u#, and possibly a Jacobian function.mcmcGeneric function to create proposals using a discrete auxiliary variable of type .See .mcmcProbability distributionmcmcForward operator \odot.For example, for a multiplicative proposal on one variable the forward operator is (*) , so that  x' = x * u.mcmcInverse operator g of the auxiliary variable. For example, 7 for a multiplicative proposal on one variable, since  x' * u^{-1} = x * u * u^{-1} = 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' - dx = x + dx - dx = x.#Only required for biased proposals.,Types indicating properties of distributions2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.com experimentalportable Safe-InferredY 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.comunstableportable Safe-Inferred];mcmcAdditive 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.comunstableportable Safe-Inferredg'mcmcAn 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 s.Multiplicative proposals2021 Dominik SchrempfGPL-3.0-or-laterdominik.schrempf@gmail.comunstableportable Safe-InferredjmcmcMultiplicative 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.comunstableportable Safe-Inferredmmcmc,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.comunstableportable Safe-Inferredv(mcmcGeneralized prior function.mcmcPrior function.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.comunstableportable Safe-Inferred"{ mcmc/Settings of the marginal likelihood estimation.mcmcInitial burn in at the starting point of the path (or each segment if running in parallel).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.comunstableportable Safe-Inferred؀-./012358679:;<>A?@BCDIJKVWXgwx|}~,|}~wxgVWX9:;<=><=?<=@AABCDEFGHHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoppqrstuvwxxyz{|}~                                           2                                              '                     ,)-(3+7                                                 8   !4!4!!!!!!!!!!!!!""5"#6#6###############################9$$$$$%%&9999.............///////////////////00000000#mcmc-0.8.2.0-KpbWlxAbILT2yDUum1L0R6Mcmc.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.Shuffle IterationModeBurnInSettingsbeta HamiltonianfromSavedChainslidescale Mcmc.Proposal.Hamiltonian.Masses"Mcmc.Proposal.Hamiltonian.Internal Paths_mcmcMcmc.ProposalsPSpeed MonitorBatch Environment mcmcContinue MLSettingsmhgLoadmc3LoadbaseData.Functor.Contravariant>$<(log-domain-0.13.2-6SGFvld2wRX6cBg4GUXOqb Numeric.LoglnExpLogAcceptanceCounts nAccepted nRejectedAcceptanceRate$fShowAcceptanceCounts$fEqAcceptanceCounts$fOrdAcceptanceCountsAcceptanceRatestotalAcceptanceRatenAcceptanceRates$fFromJSONAcceptanceCounts$fToJSONAcceptanceCounts$fShowAcceptanceRates$fEqAcceptanceRates Acceptance$fFromJSONAcceptanceRates$fToJSONAcceptanceRates$fShowAcceptance$fEqAcceptanceResetAcceptanceResetEverythingResetExpectedRatesOnly AcceptancesfromAcceptancesemptyA pushAccept pushRejectresetAtransformKeysAacceptanceRateacceptanceRates$fFromJSONAcceptance$fToJSONAcceptance$fFromJSONAcceptances$fToJSONAcceptances$fEqAcceptances$fShowAcceptances logGammaG logFactorialGJacobianFunctionGJacobianFunctionJacobianLikelihoodFunctionGLikelihoodFunction Likelihood noLikelihood renderLogMonitorParametermpNamempFunc monitorInt monitorDoublemonitorDoubleFmonitorDoubleS$fContravariantMonitorParameterMonitorParameterBatchmbpNamembpFuncmonitorBatchMeanmonitorBatchMeanFmonitorBatchMeanS$$fContravariantMonitorParameterBatchrenderDurationrenderDurationS renderTimePosteriorFunctionGPosteriorFunction PosteriorAuxiliaryTuningParametersTuningFunction TuningTypeNormalTuningFastProposalsOnly#IntermediateTuningFastProposalsOnlyLastTuningFastProposalsOnlyNormalTuningAllProposalsIntermediateTuningAllProposalsLastTuningAllProposalsTuningParameterTuneNoTuneTunertTuningParametertAuxiliaryTuningParameters tRequireTracetSuitableForIntermediateTuningtTuningFunction tGetPFunction PFunctionPResult ForceAccept ForceRejectPropose KernelRatioProposalprName prDescriptionprSpeed prDimensionprWeight prFunctionprTunerPFastPSlow PDimensionPDimensionUnknownPSpecialPWeight fromPWeight PDescriptionfromPDescriptionPName fromPNamepWeightcreateProposaltuningFunctiontuningParameterMintuningParameterMaxtuneWithTuningParametersgetOptimalRate@~ liftProposalliftProposalWithproposalHeadersummarizeProposal $fOrdProposal $fEqProposal$fEqTuningType $fShowTune$fEqTune $fShowPResult $fEqPResult $fEqPSpeed $fShowPWeight $fEqPWeight $fOrdPWeight$fShowPDescription$fEqPDescription$fOrdPDescription $fShowPName $fEqPName $fOrdPName $fMonoidPName$fSemigroupPName AllProposals FastProposalsCycle ccProposalsccRequireTraceccHasIntermediateTunersOrderRandomO SequentialORandomReversibleOSequentialReversibleO cycleFromListsetOrderprepareProposals autoTuneCyclesummarizeCycle$fEqIterationMode $fEqOrder $fShowOrdergenericContinuousgenericDiscrete UpperBoundary LowerBoundarySize DimensionRateScaleShapeVarianceStandardDeviationMeanslideSymmetricslideUniformSymmetricslideContrarilySimplextoVector $fEqSimplex $fShowSimplexsimplexFromVectorsimplexUniform dirichlet$fFromJSONSimplex$fToJSONSimplex scaleUnbiasedscaleContrarilySpikeParameter slideBactrian scaleBactrianPriorFunctionG PriorFunctionPriornoPrior 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 fromVectorTpushTheadTtakeTfreezeTthawTLogModeLogStdOutAndFile 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 monitorBatchgetMonitorBatchSizemOpenmExecmCloseChainlink iterationtrace acceptances generatorstart priorFunctionlikelihoodFunctioncyclemonitor InitialState SavedChain savedLinksavedIteration savedTracesavedAcceptances 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 mc3Iterationmc3SwapAcceptances mc3Generatormc3mc3Save$fFromJSONSavedMC3$fToJSONSavedMC3$fAlgorithmMC3settings logHandlesoutLock startingTimeinitializeEnvironmentcloseEnvironment$fHasVerbosityEnvironment$fHasLogModeEnvironment$fHasStartingTimeEnvironment$fHasLogHandlesEnvironment$fHasLockEnvironment$fHasExecutionModeEnvironment$fEqEnvironmentmcmc$fEqIntermediateTuningSpecmlAnalysisName mlAlgorithm mlNPointsmlInitialBurnIn mlPointBurnIn mlIterationsmlExecutionModemlParallelizationMode mlLogMode mlVerbosity MLAlgorithmThermodynamicIntegrationSteppingStoneSamplingNPoints fromNPointsMarginalLikelihoodmarginalLikelihood$fHasVerbosityMLSettings$fHasLogModeMLSettings$fHasExecutionModeMLSettings$fHasAnalysisNameMLSettings$fEqMLSettings$fReadMLSettings$fShowMLSettings$fEqMLAlgorithm$fReadMLAlgorithm$fShowMLAlgorithm $fEqNPoints $fReadNPoints $fShowNPoints GHC.MaybeNothingalignRightWithNoTrimalignRightWith alignRight alignLeftWith alignLeftsaveGenloadGenshuffle,math-functions-0.3.4.2-D2xnAQ2aDgXizbrl3k5nANumeric.SpecFunctions.InternallogGamma logFactorialghc-prim GHC.TypesDoubleInt Data.EitherLeftGHC.ErrerrorGHC.RealrecipGHC.NumnegateSmoothingParameterMassesIMu toGMatrix cleanMatrix getMassesIgetMusmassesToVectorvectorToMassestuneDiagonalMassesOnly tuneAllMassesleapfrogTargetHParamsIhpsLeapfrogScalingFactorhpsLeapfrogSimulationLength hpsMasses hpsTParamsVarhpsTParamsFixed hpsMassesIhpsMu hParamsIWithtoAuxiliaryTuningParametersfromAuxiliaryTuningParametersfindReasonableEpsilonhTuningFunctionWithcheckHStructureWithgenerateMomentaexponentialKineticEnergy'circular-0.4.0.3-EAKdNcmIt4w2pH80AM4ry0Data.Stack.CirculargettakefreezethawversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirIO