1 #ifndef STAN_MCMC_HMC_INTEGRATORS_EXPL_LEAPFROG_HPP
2 #define STAN_MCMC_HMC_INTEGRATORS_EXPL_LEAPFROG_HPP
4 #include <stan/math/prim/mat/fun/Eigen.hpp>
10 template <
class Hamiltonian>
17 typename Hamiltonian::PointType& z,
18 Hamiltonian& hamiltonian,
double epsilon,
21 z.p -= epsilon * hamiltonian.dphi_dq(z, info_writer, error_writer);
24 void update_q(
typename Hamiltonian::PointType& z,
25 Hamiltonian& hamiltonian,
double epsilon,
28 z.q += epsilon * hamiltonian.dtau_dp(z);
29 hamiltonian.update_potential_gradient(z, info_writer, error_writer);
33 typename Hamiltonian::PointType& z,
34 Hamiltonian& hamiltonian,
double epsilon,
37 z.p -= epsilon * hamiltonian.dphi_dq(z, info_writer, error_writer);
Probability, optimization and sampling library.
void begin_update_p(typename Hamiltonian::PointType &z, Hamiltonian &hamiltonian, double epsilon, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
void end_update_p(typename Hamiltonian::PointType &z, Hamiltonian &hamiltonian, double epsilon, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
base_writer is an abstract base class defining the interface for Stan writer callbacks.
void update_q(typename Hamiltonian::PointType &z, Hamiltonian &hamiltonian, double epsilon, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)