1 #ifndef MIXTUREDISTRIBUTION_H_
2 #define MIXTUREDISTRIBUTION_H_
22 Eigen::VectorXd
const&
probs);
virtual Eigen::VectorXd GradLogDensityImpl(unsigned int wrt, ref_vector< Eigen::VectorXd > const &inputs) override
std::vector< std::shared_ptr< Distribution > > Components()
virtual Eigen::VectorXd SampleImpl(ref_vector< Eigen::VectorXd > const &inputs) override
Sample the distribution.
std::vector< std::shared_ptr< Distribution > > components
MixtureDistribution(std::vector< std::shared_ptr< Distribution >> const &components, Eigen::VectorXd const &probs)
virtual double LogDensityImpl(ref_vector< Eigen::VectorXd > const &inputs) override
virtual ~MixtureDistribution()=default
Eigen::VectorXd Probabilities()
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...