Class LogBinomialCoefficient


  • public class LogBinomialCoefficient
    extends java.lang.Object
    Natural logarithm of the binomial coefficient. It is "n choose k", the number of k-element subsets that can be selected from an n-element set.
    • Method Summary

      Modifier and Type Method Description
      static double value​(int n, int k)
      Computes the logarithm of the binomial coefficient.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LogBinomialCoefficient

        public LogBinomialCoefficient()
    • Method Detail

      • value

        public static double value​(int n,
                                   int k)
        Computes the logarithm of the binomial coefficient. The largest value of n for which all coefficients can fit into a long is 66.
        Parameters:
        n - Size of the set.
        k - Size of the subsets to be counted.
        Returns:
        log(n choose k).
        Throws:
        java.lang.IllegalArgumentException - if n < 0.
        java.lang.IllegalArgumentException - if k > n.
        java.lang.IllegalArgumentException - if the result is too large to be represented by a long.