I want to create an evenly distributed set of $N$ points inside a d-dimensional simplex ($d>3$), i.e. I want to have $N$ vectors $\vec{a}=\{a_1,a_2,...,a_d\}$ such that $0\leq a_j \leq 1$ for all $1\leq j\leq d$, and $a_1+a_2+...+a_d= 1$. For being specific, let's assume I want 10.000 points inside a 4-dimensional simplex. How can I do this?
For dimensions $d\leq 3$ I found a great answer here.
In this low-dimensional case I also know of the package NDSolve\`FEM\` from which I could use the function ToElementMesh to create a set of points inside the simplex. However, this also only seems to work for $d\leq 3$ and for $d>3$ it raises an error -- Message text not found --.
I could of course simply generate pseudo-random numbers using RandomReal[] which would satisfy $a_1+a_2+...+a_d= 1$, however, they would probably not be evenly distributed.
Any ideas how I could implement this? All suggestions are appreciated.
RandomPoint[Simplex[{{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}}]]. – Domen Jan 26 '24 at 11:43