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).


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)