# Rev Language Reference

## mvMirror

The adaptive mirror (normal) proposal of Thawornwattana et al. 2017, uses MCMC samples to find posterior mean and variance. After user-defined waiting time, proposes moves on opposite side of posterior mean from current location using a normal distribution with the learned posterior standard deviation (scaled by lambda). Before this time, the move uses mu0 as the mean, and lambda as the standard deviation. WARNING: Disabling tuning disables both tuning of proposal variance and learning of empirical mean and variance. To learn the empirical mean and variance without tuning sigma, set adaptOnly=true.

### Usage

mvMirror(Real x, Natural waitBeforeLearning, Natural waitBeforeUsing, Natural maxUpdates, Real mu0, RealPos sigma, Bool tune, Bool adaptOnly, RealPos weight, Probability tuneTarget)

### Arguments

 x : Real ( pass by reference) The variable on which this move operates. waitBeforeLearning : Natural (pass by value) The number of move attempts to wait before tracking the mean and variance of the variable. Default : 500 waitBeforeUsing : Natural (pass by value) The number of move attempts to wait before using the learned mean and variance. Default : 1000 maxUpdates : Natural (pass by value) The maximum number of updates to the empirical mean and variance. Default : 10000 mu0 : Real (pass by value) Initial guess at posterior mean. Default : 0 sigma : RealPos (pass by value) The tuning parameter, adjusts variance of proposal. Default : 1 tune : Bool (pass by value) Should we tune the move during burnin? Default : TRUE adaptOnly : Bool (pass by value) If true, sigma is not tuned but mean and variance are still learned Default : FALSE 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