Automatic Differentiation
 
Loading...
Searching...
No Matches
laplace_latent_poisson_log_rng.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_MIX_PROB_LAPLACE_LATENT_POISSON_LOG_RNG_HPP
2#define STAN_MATH_MIX_PROB_LAPLACE_LATENT_POISSON_LOG_RNG_HPP
3
7
8namespace stan {
9namespace math {
10
35template <typename Mean, typename CovarFun, typename CovarArgs,
36 typename OpsTuple, typename RNG>
38 const std::vector<int>& y, const std::vector<int>& y_index, Mean&& mean,
39 int hessian_block_size, CovarFun&& covariance_function,
40 CovarArgs&& covar_args, OpsTuple&& ops, RNG& rng, std::ostream* msgs) {
41 auto options
42 = internal::tuple_to_laplace_options(std::forward<OpsTuple>(ops));
43 options.hessian_block_size = hessian_block_size;
44 return laplace_base_rng(
46 std::forward_as_tuple(y, y_index, std::forward<Mean>(mean)),
47 std::forward<CovarFun>(covariance_function),
48 std::forward<CovarArgs>(covar_args), std::move(options), rng, msgs);
49}
50
73template <typename CovarFun, typename CovarArgs, typename RNG, typename Mean>
74inline Eigen::VectorXd laplace_latent_poisson_log_rng(
75 const std::vector<int>& y, const std::vector<int>& y_index, Mean&& mean,
76 int hessian_block_size, CovarFun&& covariance_function,
77 CovarArgs&& covar_args, RNG& rng, std::ostream* msgs) {
78 auto options = laplace_options_default{hessian_block_size};
79 return laplace_base_rng(
81 std::forward_as_tuple(y, y_index, std::forward<Mean>(mean)),
82 std::forward<CovarFun>(covariance_function),
83 std::forward<CovarArgs>(covar_args), options, rng, msgs);
84}
85
86} // namespace math
87} // namespace stan
88
89#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_poisson_log_rng(const std::vector< int > &y, const std::vector< int > &y_index, 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_poisson_log_rng(const std::vector< int > &y, const std::vector< int > &y_index, 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 ...