.. _physics-posteriorSampleDffrntlEvltnRandomJump: Posterior Sampling Differential Evolution Random Jumps ====================================================== Class providing the stochastic random-jump component added to proposals in differential evolution Markov chain Monte Carlo (DE-MCMC) posterior samplers---a small perturbation vector drawn from some distribution (e.g.\ uniform or Gaussian) that is added to the deterministic differential evolution proposal to ensure ergodicity and prevent the chain from becoming trapped in a lower-dimensional subspace. The ``sample`` method returns a jump vector in parameter space, scaled according to the parameter priors or step sizes, for each active chain state in the ensemble. Methods ------- ``sample`` → ``double precision, dimension(size(modelParameters_))`` Draw and return a random perturbation vector in parameter space from the jump distribution, added to the deterministic differential evolution proposal to ensure ergodicity and prevent chain collapse to a lower-dimensional subspace. * ``type (modelParameterList ), dimension(:), intent(in ) :: modelParameters_`` * ``class(posteriorSampleStateClass) , intent(inout) :: simulationState`` .. _physics-posteriorSampleDffrntlEvltnRandomJumpAdaptive: ``posteriorSampleDffrntlEvltnRandomJumpAdaptive`` ------------------------------------------------- The random jumps are drawn from the distributions specified in the ``random`` element of each :galacticus-class:`modelParameterClass` object and then multiplied by the currently occupied range of each parameter (i.e. the maximum value of the parameter over all current chain states minus the minimum value of each parameter over all current chain states). **Parameters** * ``[timeStepMinimum]`` (default ``0.01d0``) — The minimum time step to use in tabulations of star formation histories [Gyr]. * ``[countTimeStepsMaximum]`` (default ``10_c_size_t``) — The maximum number of timesteps to track in any star formation history. * ``[massScaleAbsolute]`` (default ``1.0d0``) — The absolute tolerance scale (for the mass in each bin of star formation history) to use during ODE solution. * ``[metallicityBoundaries]`` — The metallicities corresponding to boundaries between metallicity bins to use when tabulating star formation histories. * ``[countMetallicities]`` (default ``10_c_size_t``) — The number of bins in metallicity to use when tabulating star formation histories. * ``[metallicityMinimum]`` (default ``1.0d-4``) — The upper limit to the metallicity in the lowest metallicity bin when tabulating star formation histories [Solar units]. * ``[metallicityMaximum]`` (default ``1.0d+1``) — The upper limit to the metallicity in the highest metallicity bin when tabulating star formation histories [Solar units]. * ``[logFileName]`` — The name of a file to which to log reports of adjustments to :math:`\gamma`. If empty, no reports are logged. * ``[gammaInitial]`` — 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]`` — 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]`` — 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]`` — 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]`` — 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]`` — 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]`` — The number of steps between potential updates of the proposal size. * ``[outliersInAcceptanceRate]`` (default ``.true.``) — The number of steps between potential updates of the proposal size. * ``[appendLog]`` (default ``.false.``) — If true, append to the existing log file, otherwise overwrite. * ``[restoreFromLog]`` (default ``.false.``) — If true, restore the value of :math:`\gamma` from the log file. * ``[flushLog]`` (default ``.false.``) — If true, logs are flushed to file after every update. * ``[exponentInitial]`` — The initial value of the temperature-scaling exponent :math:`\alpha` used before any adaptive adjustment based on the acceptance-rate gradient has been applied. * ``[exponentMinimum]`` — The minimum value to which the temperature-scaling exponent :math:`\alpha` may be reduced during adaptive adjustment, preventing the temperature dependence from becoming negligibly weak. * ``[exponentMaximum]`` — The maximum value to which the temperature-scaling exponent :math:`\alpha` may be increased during adaptive adjustment, preventing the proposal size from growing too steeply with temperature. * ``[exponentAdjustFactor]`` — The additive increment by which the temperature-scaling exponent :math:`\alpha` is increased or decreased at each adaptation step when the acceptance-rate gradient falls outside the target range. * ``[gradientMinimum]`` — The minimum acceptable gradient of acceptance rate with log-temperature. * ``[gradientMaximum]`` — The maximum acceptable gradient of acceptance rate with log-temperature. * ``[updateCount]`` — The number of steps between potential updates of the temperature exponent. .. _physics-posteriorSampleDffrntlEvltnRandomJumpSimple: ``posteriorSampleDffrntlEvltnRandomJumpSimple`` ----------------------------------------------- In this class, the random jumps are drawn directly from the distributions specified in the ``random`` object of each :galacticus-class:`modelParameterClass` object. **Methods** * ``calculationReset`` — Reset memoized calculations. **Parameters** * ``[efficiencyWind]`` (default ``2.2157d-3``) — The coupling efficiency of the black hole accretion-driven wind, defined as the fraction of the accreted rest-mass energy that is deposited as kinetic or thermal energy into the surrounding gas via AGN-driven outflows. * ``[redshiftReionization]`` (default ``9.97d0``) — The redshift of reionization below which baryonic accretion onto halos is suppressed due to the ionizing background heating the intergalactic medium and preventing gas from accreting onto low-mass halos. * ``[opticalDepthReionization]`` — The optical depth to electron scattering below which baryonic accretion is suppressed. * ``[velocitySuppressionReionization]`` (default ``35.0d0``) — The velocity scale below which baryonic accretion is suppressed. * ``[accretionNegativeAllowed]`` (default ``.true.``) — Specifies whether negative accretion (mass loss) is allowed in the simple halo accretion model. * ``[accretionNewGrowthOnly]`` (default ``.false.``) — Specifies whether accretion from the :term:`IGM` is allowed only when a halo is growing past its previous greatest mass. * ``[acceptedStateCount]`` (default ``100``) — The number of states to use in acceptance rate statistics. * ``[timeStepRelative]`` (default ``0.1d0``) — The maximum allowed relative change in time for a single step in the evolution of a node. * ``[timeStepAbsolute]`` (default ``1.0d0``) — The maximum allowed absolute change in time (in Gyr) for a single step in the evolution of a node. * ``[timeStepMinimum]`` (default ``1.0d-6``) — The smallest timestep to use in profiling ODE solver steps. * ``[timeStepMaximum]`` (default ``1.0d+1``) — The largest timestep to use in profiling ODE solver steps. * ``[timeStepPointsPerDecade]`` (default ``3``) — The number of bins per decade of timestep to use when profiling ODE solver steps. * ``[wavelength]`` (default ``1.0d4``) — The wavelength of the photon packet (in \AA). * ``[wavelengthMinimum]`` (default ``0.5d4``) — The minimum wavelength of the photon packet (in \AA). * ``[wavelengthMaximum]`` (default ``2.0d4``) — The maximum wavelength of the photon packet (in \AA). * ``[luminosity]`` (default ``1.0d0``) — The luminosity of the photon packet (in :math:`L_\odot`). * ``[massRatioMajorMerger]`` (default ``0.25d0``) — The mass ratio above which mergers are considered to be "major". * ``[destinationGasMinorMerger]`` (default ``var_str('spheroid')``) — The component to which satellite galaxy gas moves to as a result of a minor merger. * ``[destinationStarsMinorMerger]`` (default ``var_str('spheroid')``) — The component to which satellite galaxy stars move to as a result of a minor merger. * ``[degreesOfFreedom]`` (default ``3.0d0``) — Number of degrees of freedom to assume when computing the energy density of cooling gas in the "simple" cooling time class. * ``[timeScale]`` (default ``1.0d0``) — The timescale (in Gyr) for cooling in the simple cooling rate model. * ``[reionizationRedshift]`` (default ``9.97d0``) — The redshift of reionization in the simple :term:`IGM` state model. * ``[reionizationTemperature]`` (default ``1.0d4``) — The post-reionization temperature (in units of Kelvin) in the simple :term:`IGM` state model. * ``[preReionizationTemperature]`` (default ``10.0d0``) — The pre-reionization temperature (in units of Kelvin) in the simple :term:`IGM` state model. * ``[useFormationHalo]`` (default ``.false.``) — Specifies whether or not the "formation halo" should be used when solving for the radii of galaxies. * ``[solveForInactiveProperties]`` (default ``.true.``) — If true, galactic structure is solved for during evaluation of inactive property integrals. Otherwise, structure is not solved for during this phase---this should only be used if the inactive property integrands *do not* depend on galactic structure. * ``[rateFractionalMaximum]`` (default ``10.0d0``) — The maximum fractional mass loss rate per dynamical time in the simple model of mass loss due to tidal stripping. * ``[beta]`` (default ``1.0d0``) — The scaling factor which multiplies the tidal mass loss rate. * ``[OmegaMatter]`` (default ``0.3153d0``) — The density of matter in the Universe in units of the critical density. * ``[OmegaBaryon]`` (default ``0.04930d0``) — The density of baryons in the Universe in units of the critical density. * ``[OmegaDarkEnergy]`` (default ``0.6847d0``) — The density of dark energy in the Universe in units of the critical density. * ``[temperatureCMB]`` (default ``2.72548d0``) — The present day temperature of the :term:`CMB` in units of Kelvin. * ``[HubbleConstant]`` (default ``67.36d0``) — The present day value of the Hubble parameter in units of km/s/Mpc.