Range of i.i.d. normal random variables

Let $X_1, \dotsc, X_n$ be i.i.d. standard normal random variables. Define the range $R \in \mathbb{R}_{\geq 0}$ as $R = \max \{X_1, \dotsc, X_n\} - \min \{X_1, \dotsc, X_n \}$. I am looking for a simple expression that is a good approximation of the density function $r(x)$ of $R$. For my application the number $n$ is fairly large ($n=128$ in this particular case). I get the following exact form of $r$ where $\Phi$ is the CDF for each $X_i$ and $x \geq 0$:

$$r(x) = \frac{ n(n-1) e^{-x^2/4}}{2 \pi} \int_{\mathbb{R}} e^{-s^2} \left( \Phi(s + x/2) - \Phi(s - x/2) \right)^{n-2} ds$$

I've tried to estimate the integral in this expression, for example by using

$$\Phi(s + x/2) - \Phi(s - x/2) \leq \Phi(x/2) - \Phi(-x/2) = \textrm{erf}(\frac{x}{2 \sqrt{2}})$$

but this seems too coarse, certainly for small values of $x$. Any pointers would be appreciated, also for partial results like estimating the expected value and variance of $R$.

• You may find the answers to this question useful. – Chris Taylor Feb 20 '12 at 9:51
• Maybe. I saw that question and answer but I don't see how that max central limit theorem would apply in some way to the range, since he max and min are clearly not independent. The Jensen trick might work to get an estimate for the expected value, didn't try yet. – WimC Feb 20 '12 at 13:47

I think this paper may help. Someone may have expanded on this in the past 50 years, but it seems like a good place to start:

Tables of range and studentized range, HL Harter

http://www.jstor.org/stable/2237810

Edit: In case you're interested and familiar with R, here is some code that seems to work (for me, at least):

r<-function(x,n){
inner.int<-function(s){
exp(-s^2)*(pnorm(s+x/2)-pnorm(s-x/2))^(n-2)
}
return(n*(n-1)*exp(-x^2/4)/(2*pi)*integrate(inner.int,-Inf,Inf)\$value)
}

• Thanks for the link. It is freely accessible on project euclid: goo.gl/4GTsT. – WimC Jun 9 '12 at 18:18
• And this looks interesting too: goo.gl/qy7I1. – WimC Jun 9 '12 at 18:36
• @WimC have you had any luck implementing the method in the second paper? I was wondering if it was any faster or more accurate than the code I listed... – Gschneider Jun 11 '12 at 15:15