Automatic Differentiation
 
Loading...
Searching...
No Matches
laplace_latent_neg_binomial_2_log_rng.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_MIX_PROB_LAPLACE_LATENT_NEG_BINOMIAL_2_LOG_RNG_HPP
2#define STAN_MATH_MIX_PROB_LAPLACE_LATENT_NEG_BINOMIAL_2_LOG_RNG_HPP
3
7
8namespace stan {
9namespace math {
10
40template <typename Eta, typename Mean, typename CovarFun, typename CovarArgs,
41 typename OpsTuple, typename RNG>
43 const std::vector<int>& y, const std::vector<int>& y_index, Eta&& eta,
44 Mean&& mean, int hessian_block_size, CovarFun&& covariance_function,
45 CovarArgs&& covar_args, OpsTuple&& ops, RNG& rng, std::ostream* msgs) {
46 auto options
47 = internal::tuple_to_laplace_options(std::forward<OpsTuple>(ops));
48 options.hessian_block_size = hessian_block_size;
49 return laplace_base_rng(
51 std::forward_as_tuple(std::forward<Eta>(eta), y, y_index,
52 std::forward<Mean>(mean)),
53 std::forward<CovarFun>(covariance_function),
54 std::forward<CovarArgs>(covar_args), std::move(options), rng, msgs);
55}
56
83template <typename Eta, typename Mean, typename CovarFun, typename CovarArgs,
84 typename RNG>
86 const std::vector<int>& y, const std::vector<int>& y_index, Eta&& eta,
87 Mean&& mean, int hessian_block_size, CovarFun&& covariance_function,
88 CovarArgs&& covar_args, RNG& rng, std::ostream* msgs) {
89 auto options = laplace_options_default{hessian_block_size};
90 return laplace_base_rng(
92 std::forward_as_tuple(std::forward<Eta>(eta), y, y_index,
93 std::forward<Mean>(mean)),
94 std::forward<CovarFun>(covariance_function),
95 std::forward<CovarArgs>(covar_args), options, rng, msgs);
96}
97
98} // namespace math
99} // namespace stan
100
101#endif
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_neg_binomial_2_log_rng(const std::vector< int > &y, const std::vector< int > &y_index, Eta &&eta, 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_neg_binomial_2_log_rng(const std::vector< int > &y, const std::vector< int > &y_index, Eta &&eta, 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 ...