Skip to content


abstract class Kernel

Markov kernel.

classDiagram Kernel <|-- LangevinKernel link Kernel "../Kernel/" link LangevinKernel "../LangevinKernel/"

A Kernel is applied to a Particle. It applies an invariant update to the Random objects encountered in the execution of that particle, as though probabilistic events had always been handled this way. Mathematically, these Random objects constitute a sample from some target distribution. A Kernel object represents a Markov kernel that is applied to the sample to update it in a manner invariant to that target distribution.

Member Variables

Name Description
nlags:Integer Number of lags.
nmoves:Integer Number of moves.
scale:Real Scale of each move.
raccepts:Real Target acceptance rate for PID controller.

Member Functions

Name Description
move Move a particle.
adapt Adapt the scale using a PID controller.

Member Function Details


function adapt(raccepts:Real)

Adapt the scale using a PID controller.

  • raccepts Acceptance rate of last move step.


abstract function move(x:Model) -> Real

Move a particle.

  • x Particle.

Returns Acceptance rate of moves on this particle.