proposal.py was initially designed for HMC/NUTS, thus the API and documentation (e.g., the Proposal object) are using HMC terminology. When other MCMC algorithm like random_walk is calling the function in proposal.py, it needs to overload some of the arguments and thus becoming hard to read.
We should refactor proposal so that it provides a general sampling scheme, and additional wrapper on top so HMC could use it easier.
proposal.py was initially designed for HMC/NUTS, thus the API and documentation (e.g., the
Proposal
object) are using HMC terminology. When other MCMC algorithm like random_walk is calling the function inproposal.py
, it needs to overload some of the arguments and thus becoming hard to read. We should refactor proposal so that it provides a general sampling scheme, and additional wrapper on top so HMC could use it easier.