# Generating points uniformly distributed over the SURFACE of a standard simplex

I would like to generate points that are uniformly distributed over the SURFACE of a standard $k$-simplex ($k$ dimensions, $k+1$ vertices).

One way to efficiently generate points that are uniformly distributed over the ENTIRETY of the $k$-simplex is to generate samples of $k$ iid exponential random variables, $E_i$, $i\in \left[1,k\right]$, then normalize, and $\vec{X}=\frac{\left\langle E_1,E_2,\dots,E_k\right\rangle}{\sum_{i=1}^k E_i}$, will be uniformly distributed over the entire $k$-simplex.

My problem is that the probability that one of these points lands on the surface (i.e. at a vertex, or along a hyper-edge, or on hyper-face, etc.) is nearly $0$, so that in practice all of the points end up being in the INTERIOR of the $k$-simplex.

In an attempt to sample the SURFACE of the $k$-simplex I have considered each hyper-edge, hyper-face, etc. separately and generated uniformly distributed samples on each (since they are themselves lower dimensional simplices). However, the problem becomes computationally unfeasible as $k$ increases because the number of hyper-edges, hyper-faces, etc. blows up.

Does anyone know of a method to explicitly generate samples that are uniformly distributed over the SURFACE (or BOUNDARY) of a standard $k$-simplex?

• There are only $k+1$ facets on the surface. Where does the unfeasibility come from? Dec 18, 2013 at 21:12
• I'm not sure I understand the problem. If you're sampling uniformly form the k-simplex, then the union of all the $k-1$-simplexes (i.e the faces) is a set of measure zero. It's hardly surprising therefore that you'll miss out on getting the surface facets. If you want to sample explicitly from the surface, then as Chao Xu points out there are k+1 facets, and so you can easily sample by picking a facet at random and then running the standard algorithm on it. Or even easier, sample from the $k-1$-simplex, and insert a zero randomly. Dec 19, 2013 at 18:25

x_1=1-R_1^{1/n-1}