  We propose a splitting Hamiltonian Monte Carlo (SHMC) algorithm, which can be
computationally efficient when combined with the random mini-batch strategy. By
splitting the potential energy into numerically nonstiff and stiff parts, one
makes a proposal using the nonstiff part of $U$, followed by a Metropolis
rejection step using the stiff part that is often easy to compute. The
splitting allows efficient sampling from systems with singular potentials (or
distributions with degenerate points) and/or with multiple potential barriers.
In our SHMC algorithm, the proposal only based on the nonstiff part in the
splitting is generated by the Hamiltonian dynamics, which can be potentially
more efficient than the overdamped Langevin dynamics. We also use random batch
strategies to reduce the computational cost to $\mathcal{O}(1)$ per time step
in generating the proposals for problems arising from many-body systems and
Bayesian inference, and prove that the errors of the Hamiltonian induced by the
random batch approximation is $\mathcal{O}(\sqrt{\Delta t})$ in the strong and
$\mathcal{O}(\Delta t)$ in the weak sense, where $\Delta t$ is the time step.
Numerical experiments are conducted to verify the theoretical results and the
computational efficiency of the proposed algorithms in practice.
