I'm trying to get a sample of points distributed uniformly in the 26-dimensional simplex (otherwise put, uniformly distributed 27-dimensional probability vectors). As I have been told, for example, here, the right way to do this is to sample from the uniform Dirichlet distribution.
The issue I am finding is that a largish sample from this distribution contains no points near the vertices of the simplex. In numpy:
from numpy.random import dirichlet
points = dirichlet([1] * 27, size=1000000)
After doing this repeatedly, numpy.max(points) is typically around .5. In that million samples nothing gets closer to the vertex.
I assume this is correct (and my 27-dimensional intuitions are wildly unreliable anyway). My question is: how much more should I sample in order to have, say a .9 probability of getting a point with a value of a coordinate of .9 or higher? If this turns out to be an unworkable sample, is there any other way I could coax the distribution to give me more extreme points?