autoppl  v0.8
A C++ template library for probabilistic programming
nuts.hpp File Reference
#include <type_traits>
#include <Eigen/Dense>
#include <fastad_bits/reverse/core/var_view.hpp>
#include <fastad_bits/reverse/core/eval.hpp>
#include <autoppl/util/traits/var_traits.hpp>
#include <autoppl/util/packs/ptr_pack.hpp>
#include <autoppl/util/logging.hpp>
#include <autoppl/util/time/stopwatch.hpp>
#include <autoppl/math/math.hpp>
#include <autoppl/mcmc/sampler_tools.hpp>
#include <autoppl/mcmc/result.hpp>
#include <autoppl/mcmc/base_mcmc.hpp>
#include <autoppl/mcmc/hmc/nuts/tree_utils.hpp>
#include <autoppl/mcmc/hmc/leapfrog.hpp>
#include <autoppl/mcmc/hmc/hamiltonian.hpp>
#include <autoppl/mcmc/hmc/nuts/configs.hpp>

Go to the source code of this file.

Namespaces

 ppl
 
 ppl::mcmc
 

Functions

template<class MatType1 , class MatType2 , class MatType3 >
bool ppl::mcmc::check_entropy (const MatType1 &rho, const MatType2 &p_beg_scaled, const MatType3 &p_end_scaled)
 
template<class InputType , class UniformDistType , class GenType , class MomentumHandlerType >
TreeOutput ppl::mcmc::build_tree (size_t n_params, InputType &input, uint8_t depth, UniformDistType &unif_sampler, GenType &gen, MomentumHandlerType &momentum_handler, double *tree_cache)
 
template<class ADExprType , class MatType , class GenType , class MomentumHandlerType >
double ppl::mcmc::find_reasonable_epsilon (double eps, ADExprType &ad_expr, MatType &theta, MatType &theta_adj, MatType &tp_adj, GenType &gen, MomentumHandlerType &momentum_handler)
 
template<class ProgramType , class OffsetPackType , class MCMCResultType , class NUTSConfigType = NUTSConfig<>>
void ppl::mcmc::nuts_ (ProgramType &program, const NUTSConfigType &config, const OffsetPackType &pack, MCMCResultType &res)
 
template<class ExprType , class NUTSConfigType = NUTSConfig<>>
auto ppl::nuts (const ExprType &expr, const NUTSConfigType &config=NUTSConfigType())