Is there a bijective map between the unit simplex and the unit hypercube that distributes the results uniformly? This is related to the questions here and here, but slightly different. It's similar in that the mapping can be used to generate uniformly distributed random elements on the unit simplex given uniformly random elements on the unit cube. It's different in that I want to transform backward, from the simplex to the cube, as well.
Generally, to transform from the $d+1$-dimensional unit hypercube to the $d$-dimensional simplex, we take the point $x\in[0,1]^{d+1}$ and then set $y=\frac{-\log(x)}{\sum -\log(x)}$ where we apply $\log$ pointwise. Then, we set $z\in\mathbb{R}^d$ where $z_i=y_i$. Basically, $z$ is $y$, but we cut off the last element. This distributes the elements from the $d+1$ dimensional cube onto the $d$-dimensional simplex relatively evenly. However, it has a few problems
- We require $x_i > 0$, so we can't have zero elements
- I'm not sure how to do the reverse mapping since I can't backwalk $\sum -\log(x)$ from $z$
In the end, I want to generate a uniform, nonrandom samples over either the simplex or the cube and then map it to the other without creating nonunifom distortions. This includes all of the corners, so zero indices. Basically, I don't know how to generate the mapping and would appreciate some help.