Hybrid Monte Carlo Algorithm