public static double LnMultinomial(int a, int[] bs) { double result = NumericalRecipes.Gammln(a + 1); for (int i = 0; i < bs.Length; i++) { result -= NumericalRecipes.Gammln(bs[i] + 1); } return(result); }