1 #ifndef RANDOMVARIABLE_H
2 #define RANDOMVARIABLE_H
18 std::shared_ptr<Distribution>
dist;
friend class RandomVariable
Provides an abstract interface for defining vector-valued model components.
virtual ~RandomVariable()=default
virtual Eigen::VectorXd GradLogDensityImpl(unsigned int wrt, ref_vector< Eigen::VectorXd > const &inputs) override
virtual Eigen::VectorXd SampleImpl(ref_vector< Eigen::VectorXd > const &inputs) override
Sample the distribution.
virtual double LogDensityImpl(ref_vector< Eigen::VectorXd > const &inputs) override
Implement the log-density.
std::shared_ptr< Distribution > dist
virtual void EvaluateImpl(ref_vector< Eigen::VectorXd > const &inputs) override
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...