public static double Multinomial(params double[] x) { double sum = 0; double prd = 1; for (int i = 0; i < x.Length; i++) { sum += x[i]; prd *= Gamma.Function(x[i]); } return prd / Gamma.Function(sum); } }