Implementation preconditioned Langevin proposal used in the MALA algorithm. More...
#include <MALAProposal.h>
Implementation preconditioned Langevin proposal used in the MALA algorithm.
Defines a proposal of the form
\[ x^{\prime} = x^{(k)} + \tau \Sigma \nabla \log \pi(x^{(k)}) + \sqrt(2\tau) \Sigma^{1/2} \tilde{z}, \]
where \(x^{(k)}\) is the current position of the chain, \(\Sigma\) is the proposal covariance, \(\tau\) is a stepsize parameter, \(z\) is a standard normal random variable, and \(x^{\prime}\) is the proposed move. Note that this proposal can also be defined in terms of a Gaussian random variable \(z=\Sigma^{1/2} \tilde{z}\), which has mean zero and covariance \(\Sigma\). The Gaussian distribution for \(z\) can be specified in the constructor of this proposal. If not specified, a default identity covariance is employed, \(\Sigma=I\).
Configuration Parameters:
Parameter Key | Type | Default Value | Description |
---|---|---|---|
"StepSize" | Double | - | The step size parameter \(\tau\). |
Definition at line 34 of file MALAProposal.h.
Public Member Functions | |
MALAProposal (boost::property_tree::ptree pt, std::shared_ptr< AbstractSamplingProblem > const &probIn) | |
MALAProposal (boost::property_tree::ptree pt, std::shared_ptr< AbstractSamplingProblem > const &probIn, std::shared_ptr< muq::Modeling::GaussianBase > zDistIn) | |
virtual | ~MALAProposal ()=default |
Public Member Functions inherited from muq::SamplingAlgorithms::MCMCProposal | |
MCMCProposal (boost::property_tree::ptree const &pt, std::shared_ptr< AbstractSamplingProblem > const &probIn) | |
virtual | ~MCMCProposal ()=default |
virtual void | Adapt (unsigned int const t, std::vector< std::shared_ptr< SamplingState >> const &state) |
Adapt the proposal after each step. More... | |
void | SetCommunicator (std::shared_ptr< parcer::Communicator > newcomm) |
virtual void | SetBlockInd (int newBlockInd) |
virtual int | GetBlockInd () const |
Additional Inherited Members | |
Public Types inherited from muq::SamplingAlgorithms::MCMCProposal | |
typedef std::function< std::shared_ptr< MCMCProposal >boost::property_tree::ptree, std::shared_ptr< AbstractSamplingProblem >)> | MCMCProposalConstructor |
typedef std::map< std::string, MCMCProposalConstructor > | MCMCProposalMap |
Static Public Member Functions inherited from muq::SamplingAlgorithms::MCMCProposal | |
static std::shared_ptr< MCMCProposal > | Construct (boost::property_tree::ptree const &pt, std::shared_ptr< AbstractSamplingProblem > const &probIn) |
Static constructor for the transition kernel. More... | |
static std::shared_ptr< MCMCProposalMap > | GetMCMCProposalMap () |
muq::SamplingAlgorithms::MALAProposal::MALAProposal | ( | boost::property_tree::ptree | pt, |
std::shared_ptr< AbstractSamplingProblem > const & | probIn | ||
) |
muq::SamplingAlgorithms::MALAProposal::MALAProposal | ( | boost::property_tree::ptree | pt, |
std::shared_ptr< AbstractSamplingProblem > const & | probIn, | ||
std::shared_ptr< muq::Modeling::GaussianBase > | zDistIn | ||
) |
|
virtualdefault |
|
overrideprotectedvirtual |
Implements muq::SamplingAlgorithms::MCMCProposal.
Definition at line 77 of file MALAProposal.cpp.
References muq::SamplingAlgorithms::MCMCProposal::blockInd, nlohmann::detail::dtoa_impl::e, muq::SamplingAlgorithms::MCMCProposal::prob, stepSize, and zDist.
|
overrideprotectedvirtual |
Implements muq::SamplingAlgorithms::MCMCProposal.
Definition at line 42 of file MALAProposal.cpp.
References muq::SamplingAlgorithms::MCMCProposal::blockInd, muq::SamplingAlgorithms::MCMCProposal::prob, stepSize, and zDist.
|
protected |
Definition at line 48 of file MALAProposal.h.
Referenced by LogDensity(), and Sample().
|
protected |
The proposal distribution.
Definition at line 51 of file MALAProposal.h.
Referenced by LogDensity(), and Sample().