aspire.samplers.mcmc
====================

.. py:module:: aspire.samplers.mcmc


Attributes
----------

.. autoapisummary::

   aspire.samplers.mcmc.logger


Classes
-------

.. autoapisummary::

   aspire.samplers.mcmc.MCMCSampler
   aspire.samplers.mcmc.NumpyMCMCSampler
   aspire.samplers.mcmc.Emcee
   aspire.samplers.mcmc.MiniPCN
   aspire.samplers.mcmc.ParallelTemperedMCMCSampler


Module Contents
---------------

.. py:data:: logger

.. py:class:: MCMCSampler(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)

   Bases: :py:obj:`aspire.samplers.base.Sampler`


   Base class for MCMC samplers.


   .. py:attribute:: chain_checkpoint_path
      :value: 'checkpoint'


      Path within checkpoint file to save MCMC chain checkpoints.

      The default is "checkpoint".


   .. py:attribute:: chain_dataset_name
      :value: 'mcmc_chain'


      Name of chain entry within checkpoint file to save MCMC checkpoints.


   .. py:attribute:: rng


   .. py:method:: draw_initial_samples(n_samples)

      Draw initial samples from the prior flow.

      :param n_samples: The number of samples to draw.
      :type n_samples: :py:class:`int`

      :returns: The drawn samples, with log probabilities, log prior, and log likelihood.
      :rtype: :py:class:`Samples`



   .. py:method:: log_prob(z)

      Compute the log probability of the samples.

      Input samples are in the transformed space.



   .. py:method:: default_mcmc_chain_file_checkpoint_callback(file_path)

      Return a callback that saves MCMC checkpoints as native HDF5 samples.



   .. py:method:: checkpoint_mcmc_chain(samples, iteration = None, checkpoint_callback = None, checkpoint_every = None, checkpoint_file_path = None)

      Save an MCMC chain checkpoint.



.. py:class:: NumpyMCMCSampler(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)

   Bases: :py:obj:`MCMCSampler`


   MCMCSampler that maps samples and log probabilities to NumPy arrays for
   compatibility with numpy-only samplers


   .. py:method:: log_prob(z)

      Compute the log probability of the samples.

      Input samples are in the transformed space.



.. py:class:: Emcee(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)

   Bases: :py:obj:`NumpyMCMCSampler`


   MCMCSampler that maps samples and log probabilities to NumPy arrays for
   compatibility with numpy-only samplers


   .. py:method:: sample(n_samples = None, nwalkers = None, nsteps = 500, rng=None, discard=0, checkpoint_callback = None, checkpoint_every = None, checkpoint_file_path = None, **kwargs)


.. py:class:: MiniPCN(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)

   Bases: :py:obj:`MCMCSampler`


   Base class for MCMC samplers.


   .. py:method:: sample(n_samples = None, n_walkers = None, rng=None, target_acceptance_rate=0.234, n_steps=100, thin=1, burnin=0, last_step_only=False, step_fn='tpcn', checkpoint_callback = None, checkpoint_every = None, checkpoint_file_path = None)


.. py:class:: ParallelTemperedMCMCSampler(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)

   Bases: :py:obj:`MCMCSampler`


   Wrapper for Parallel Tempered MCMC Samplers


   .. py:method:: log_likelihood_wrapper(z)

      Wrapper for log-likelihood that takes array inputs.



   .. py:method:: log_prior_wrapper(z)

      Wrapper for log-prior that takes array inputs.



