.. _physics-posteriorSampleDffrntlEvltnProposalSize: Posterior Sampling Differential Evolution Proposal Size ======================================================= Class providing proposal sizes for differential evolution posterior samplers. Specifically, this class provides the proposal size parameter, :math:`\gamma` (the fraction of the vector connecting to chain state to be used as the proposal for another chain), for use in differential evolution simulations. Methods ------- ``gamma`` → ``double precision`` Return the proposal size parameter :math:`\gamma` given the current simulation state and convergence status, scaling the vector difference between two randomly selected chain states to form the differential evolution proposal. * ``class(posteriorSampleStateClass ), intent(inout) :: simulationState`` * ``class(posteriorSampleConvergenceClass), intent(inout) :: simulationConvergence`` .. _physics-posteriorSampleDffrntlEvltnProposalSizeAdaptive: ``posteriorSampleDffrntlEvltnProposalSizeAdaptive`` --------------------------------------------------- This class adaptively changes :math:`\gamma` in an attempt to maintain the acceptance rate at an acceptable level. The algorithm is controlled by the following sub-parameters: ``[gammaInitial]`` The initial value for :math:`\gamma`. ``[gammaFactor]`` The multiplicative factor by which :math:`\gamma` should be increased or decreased if the acceptance rate is out of range. ``[gammaMinimum]`` The smallest value allowed for :math:`\gamma`. ``[gammaMaximum]`` The largest value allowed for :math:`\gamma`. ``[acceptanceRateMinimum]`` The minimum acceptance rate to accept before reducing :math:`\gamma`. ``[acceptanceRateMaximum]`` The maximum acceptance rate to accept before reducing :math:`\gamma`. ``[updateCount]`` The number of steps between successive checks of the acceptance rate. **Parameters** * ``[logFileName]`` (string) — The name of a file to which to log reports of adjustments to :math:`\gamma`. If empty, no reports are logged. * ``[gammaInitial]`` (real) — The initial value of the proposal scaling parameter :math:`\gamma` used before the acceptance rate has been assessed and any adaptive adjustment has been made. * ``[gammaMinimum]`` (real) — The minimum value to which the proposal scaling parameter :math:`\gamma` is permitted to be reduced during adaptive adjustment, preventing the step size from becoming vanishingly small. * ``[gammaMaximum]`` (real) — The maximum value to which the proposal scaling parameter :math:`\gamma` is permitted to be increased during adaptive adjustment, preventing excessively large steps that would degrade acceptance rates. * ``[gammaAdjustFactor]`` (real) — The multiplicative factor by which :math:`\gamma` is increased or decreased at each adaptation step when the current acceptance rate falls outside the target range. * ``[acceptanceRateMinimum]`` (real) — The minimum acceptable chain acceptance rate; if the measured acceptance rate falls below this threshold :math:`\gamma` is reduced to produce smaller, more easily accepted proposals. * ``[acceptanceRateMaximum]`` (real) — The maximum acceptable chain acceptance rate; if the measured acceptance rate exceeds this threshold :math:`\gamma` is increased to produce larger proposals that explore the posterior more efficiently. * ``[updateCount]`` (integer) — The number of steps between potential updates of the temperature exponent. * ``[outliersInAcceptanceRate]`` (boolean; default ``.true.``) — The number of steps between potential updates of the proposal size. * ``[appendLog]`` (boolean; default ``.false.``) — If true, append to the existing log file, otherwise overwrite. * ``[restoreFromLog]`` (boolean; default ``.false.``) — If true, restore the value of :math:`\gamma` from the log file. * ``[flushLog]`` (boolean; default ``.false.``) — If true, logs are flushed to file after every update. .. _physics-posteriorSampleDffrntlEvltnProposalSizeFixed: ``posteriorSampleDffrntlEvltnProposalSizeFixed`` ------------------------------------------------ A posterior sampling differential evolution proposal size class in which the proposal size is a fixed value :math:`\gamma=`\ ``[gamma]``. **Parameters** * ``[proposalSize]`` (real) — The fixed value of the proposal scaling parameter :math:`\gamma` used to scale the vector difference between two randomly selected chain states when forming differential evolution proposals.