  Markov chain Monte Carlo is a class of algorithms for drawing Markovian
samples from high-dimensional target densities to approximate the numerical
integration associated with computing statistical expectation, especially in
Bayesian statistics. However, many Markov chain Monte Carlo algorithms do not
seem to share the same theoretical support and each algorithm is proven in a
different way. This incurs many terminologies and ancillary concepts, which
makes Markov chain Monte Carlo literature seems to be scattered and
intimidating to researchers from many other fields, including new researchers
of Bayesian statistics.
  A generalised version of the Metropolis-Hastings algorithm is constructed
with a random number generator and a self-reverse mapping. This formulation
admits many other Markov chain Monte Carlo algorithms as special cases. A
common derivation for many Markov chain Monte Carlo algorithms is useful in
drawing connections and comparisons between these algorithms. As a result, we
now can construct many novel combinations of multiple Markov chain Monte Carlo
algorithms that amplify the efficiency of each individual algorithm.
Specifically, we propose two novel sampling schemes that combine slice sampling
with directional or Hamiltonian sampling. Our Hamiltonian slice sampling scheme
is also applicable in the pseudo-marginal context where the target density is
intractable but can be unbiasedly estimated, e.g. using particle filtering.
