An MCMC algorithm that uses gradient information from the log-posterior to simulate Hamiltonian dynamics, producing long-range proposals with high acceptance rates. Scales substantially better than random-walk Metropolis in moderate-to-high dimensions and is the inference engine underlying Stan and PyMC.