I'm sampling a DirichletDistribution
like so:
n = 5000;
par1 = Table[1./n,n];
data1 = RandomVariate[DirichletDistribution[par1],50];
(* This takes about 1.5 seconds *)
par2 = Table[1.,n];
data2 = RandomVariate[DirichletDistribution[par2],50];
(* This takes about 0.10 seconds *)
If I play with the value of the parameters, I find that giving values > 1 radically improves the performance. Any clues on how to circumvent this?
EDIT : The reason why I'm comparing par1 and par2 is that I was hoping for a shortcut following this kind of reasoning (although I know that this is false):
DirichletDistribution[n*par] / n