Rev Language Reference


The adaptive variance multivariate-normal proposal of Baele et al. 2017, uses MCMC samples to fit covariance matrix to parameters. After user-defined waiting time, proposes using covariance matrix epsilon * I + (1 - epsilon) * sigmaSquared * empirical_matrix. Internally transforms variables based on whether variables are (finitely) bounded, strictly positive, or simplexed. Non-simplex-valued vector random variables are untransformed. Add random variables to the move directly (e.g. branch_rates[1], not branch_rates).WARNING: Disabling tuning disables both tuning of proposal variance and learning of empirical covariance matrix.


mvAVMVN(RealPos sigmaSquared, RealPos epsilon, Natural waitBeforeLearning, Natural waitBeforeUsing, Natural maxUpdates, Bool tune, RealPos weight, Probability tuneTarget)


sigmaSquared : RealPos (pass by value)
The scaling factor (strength) of the proposal.
Default : 1
epsilon : RealPos (pass by value)
The mixture weight of the post-learning move on a simple identity matrix.
Default : 0.05
waitBeforeLearning : Natural (pass by value)
The number of move attempts to wait before tracking the covariance of the variables.
Default : 2500
waitBeforeUsing : Natural (pass by value)
The number of move attempts to wait before using the learned covariance matrix.
Default : 5000
maxUpdates : Natural (pass by value)
The maximum number of updates to the empirical covariance matrix (matrix is only updated when MCMC tunes).
Default : 10000
tune : Bool (pass by value)
Should we tune the scaling factor during burnin?
Default : TRUE
weight : RealPos (pass by value)
The weight how often on average this move will be used per iteration.
Default : 1
tuneTarget : Probability (pass by value)
The acceptance probability targeted by auto-tuning.
Default : 0.44


  • addVariable(Real var)
  • addVariable(Simplex var)
  • addVariable(Real[] var)
  • removeVariable(Real var)
  • removeVariable(Simplex var)
  • removeVariable(Real[] var)