1 #ifndef STAN__MCMC__UNIT__E__METRIC__BETA
2 #define STAN__MCMC__UNIT__E__METRIC__BETA
4 #include <boost/random/variate_generator.hpp>
5 #include <boost/random/normal_distribution.hpp>
15 template <
typename M,
typename BaseRNG>
25 return 0.5 * z.
p.squaredNorm();
32 return Eigen::VectorXd::Zero(this->
model_.num_params_r());
45 boost::variate_generator<BaseRNG&, boost::normal_distribution<> >
46 rand_unit_gaus(rng, boost::normal_distribution<>());
48 for (
int i = 0; i < z.
p.size(); ++i)
49 z.
p(i) = rand_unit_gaus();
const Eigen::VectorXd dtau_dq(unit_e_point &z)
double V(unit_e_point &z)
double phi(unit_e_point &z)
const Eigen::VectorXd dtau_dp(unit_e_point &z)
const Eigen::VectorXd dphi_dq(unit_e_point &z)
double tau(unit_e_point &z)
double T(unit_e_point &z)
void sample_p(unit_e_point &z, BaseRNG &rng)
double e()
Return the base of the natural logarithm.
unit_e_metric(M &m, std::ostream *e)