Automatic Differentiation
 
Loading...
Searching...
No Matches
laplace_latent_bernoulli_logit_rng.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_MIX_PROB_LAPLACE_LATENT_BERNOULLI_LOGIT_RNG_HPP
2#define STAN_MATH_MIX_PROB_LAPLACE_LATENT_BERNOULLI_LOGIT_RNG_HPP
3
7
8namespace stan {
9namespace math {
10
33template <typename Mean, typename CovarFun, typename CovarArgs,
34 typename OpsTuple, typename RNG>
36 const std::vector<int>& y, const std::vector<int>& n_samples, Mean&& mean,
37 int hessian_block_size, CovarFun&& covariance_function,
38 CovarArgs&& covar_args, OpsTuple&& ops, RNG& rng, std::ostream* msgs) {
39 auto options
40 = internal::tuple_to_laplace_options(std::forward<OpsTuple>(ops));
41 options.hessian_block_size = hessian_block_size;
42 return laplace_base_rng(
44 std::forward_as_tuple(to_vector(y), n_samples, std::forward<Mean>(mean)),
45 std::forward<CovarFun>(covariance_function),
46 std::forward<CovarArgs>(covar_args), std::move(options), rng, msgs);
47}
48
70template <typename Mean, typename CovarFun, typename CovarArgs, typename RNG>
72 const std::vector<int>& y, const std::vector<int>& n_samples, Mean&& mean,
73 int hessian_block_size, CovarFun&& covariance_function,
74 CovarArgs&& covar_args, RNG& rng, std::ostream* msgs) {
75 auto options = laplace_options_default{hessian_block_size};
76 return laplace_base_rng(
78 std::forward_as_tuple(to_vector(y), n_samples, std::forward<Mean>(mean)),
79 std::forward<CovarFun>(covariance_function),
80 std::forward<CovarArgs>(covar_args), options, rng, msgs);
81}
82
83} // namespace math
84} // namespace stan
85
86#endif
auto to_vector(T_x &&x)
Returns input matrix reshaped into a vector.
Definition to_vector.hpp:21
constexpr auto tuple_to_laplace_options(Options &&ops)
scalar_type_t< T > mean(const T &m)
Returns the sample mean (i.e., average) of the coefficients in the specified std vector,...
Definition mean.hpp:20
Eigen::VectorXd laplace_base_rng(LLFunc &&ll_fun, LLArgs &&ll_args, CovarFun &&covariance_function, CovarArgs &&covar_args, const laplace_options< InitTheta > &options, RNG &rng, std::ostream *msgs)
In a latent gaussian model,.
Eigen::VectorXd laplace_latent_bernoulli_logit_rng(const std::vector< int > &y, const std::vector< int > &n_samples, Mean &&mean, int hessian_block_size, CovarFun &&covariance_function, CovarArgs &&covar_args, RNG &rng, std::ostream *msgs)
In a latent gaussian model,.
Eigen::VectorXd laplace_latent_tol_bernoulli_logit_rng(const std::vector< int > &y, const std::vector< int > &n_samples, Mean &&mean, int hessian_block_size, CovarFun &&covariance_function, CovarArgs &&covar_args, OpsTuple &&ops, RNG &rng, std::ostream *msgs)
In a latent gaussian model,.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...