We provide a detailed, introductory exposition of the Metropolis-Hasti
ngs algorithm, a powerful Markov chain method to simulate multivariate
distributions. A simple, intuitive derivation of this method is given
along with guidance on implementation. Also discussed are two applica
tions of the algorithm, one for implementing acceptance-rejection samp
ling when a blanketing function is not available and the other for imp
lementing the algorithm with block-at-a-time scans. In the latter situ
ation, many different algorithms, including the Gibbs sampler, are sho
wn to be special cases of the Metropolis-Hastings algorithm. The metho
ds are illustrated with examples.