Efficient state-of-the-art generator of a vector of length(l)=length(u)
from the standard multivariate normal distribution truncated over the region \([l,u]\).
Infinite values for u and l are accepted.
Usage
trandn(l, u)
Value
random variable drawn from the truncated normal distribution
Arguments
l
lower truncation limit
u
upper truncation limit
Author
Zdravko I. Botev
Details
Suppose we wish to simulate a random variable \(Z\) drawn from \(N(\mu,\sigma^2)\) and
conditional on \(l<Z<u\) using the inverse transform method.
To achieve this, first compute
X=norminvp(runif(1),(l-mu)/sig,(u-mu)/sig) and then set
Z=mu+sig*X
References
Z. I. Botev (2017), The Normal Law Under Linear Restrictions:
Simulation and Estimation via Minimax Tilting, Journal of the Royal
Statistical Society, Series B, 79 (1), pp. 1--24.