1 #ifndef STAN_VARIATIONAL_BASE_FAMILY_HPP 2 #define STAN_VARIATIONAL_BASE_FAMILY_HPP 5 #include <stan/math/prim/mat.hpp> 10 namespace variational {
29 const Eigen::VectorXd&
mean()
const;
31 Eigen::VectorXd
transform(
const Eigen::VectorXd& eta)
const;
32 template <
class BaseRNG>
33 void sample(BaseRNG& rng, Eigen::VectorXd& eta)
const;
34 template <
class M,
class BaseRNG>
37 Eigen::VectorXd& cont_params,
38 int n_monte_carlo_grad,
45 const std::exception& e)
const {
52 <<
"Informational Message: The current gradient evaluation " 53 <<
"of the ELBO is ignored because of the following issue:" 55 << e.what() << std::endl
56 <<
"If this warning occurs often then your model may be " 57 <<
"either severely ill-conditioned or misspecified." const Eigen::VectorXd & mean() const
base_family operator/(base_family lhs, const base_family &rhs)
base_family operator*(double scalar, base_family rhs)
Probability, optimization and sampling library.
base_family operator/=(const base_family &rhs)
void calc_grad(base_family &elbo_grad, M &m, Eigen::VectorXd &cont_params, int n_monte_carlo_grad, BaseRNG &rng, interface_callbacks::writer::base_writer &message_writer) const
void write_error_msg_(std::ostream *error_msgs, const std::exception &e) const
base_family operator+(base_family lhs, const base_family &rhs)
void sample(BaseRNG &rng, Eigen::VectorXd &eta) const
base_family square() const
base_writer is an abstract base class defining the interface for Stan writer callbacks.
base_family operator+=(const base_family &rhs)
base_family operator*=(double scalar)
base_family operator=(const base_family &rhs)
Eigen::VectorXd transform(const Eigen::VectorXd &eta) const