# Rev Language Reference

## mvAVMVN

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

### Usage

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

### Arguments

 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