Я заглянула в random/gamma_distribution.hpp
и не существует способа, чтобы вернуться в формате PDF, поэтому экземпляр gamma_distribution не поможет. Тем не менее, boost::math::gamma_distribution содержит примечания к реализации и формулу (таблица внизу) для определения pdf с использованием библиотечной функции gamma_p_derivative
.
Теперь вы можете соединить функцию Pdf себя:
#include <boost/math/special_functions/gamma.hpp>
// Makes sense for k, theta, x greater than 0.
double gamma_pdf(double k, double theta, double x) {
return boost::math::gamma_p_derivative(k, x/theta)/theta;
}
И это в основном это. Поскольку gamma.hpp
содержит необходимые определения, вам не нужно связывать любые дополнительные библиотеки во время компиляции.