com.singularsys.jep.functions

## Class Binomial

- java.lang.Object
- - com.singularsys.jep.functions.PostfixMathCommand
  - - com.singularsys.jep.functions.BinaryFunction
    - - com.singularsys.jep.functions.Binomial

- All Implemented Interfaces:
    PostfixMathCommandI, java.io.Serializable

      public class Binomial
      extends BinaryFunction

  Binomial coefficients: binom(n,i). Requires n,i integers >=0. Often written as nCi or column vector (n,i).

  The following rules apply:
  (n,0) = 1, (n,1) = n, (n,n-1) = n, (n,n) = 1
  (n,i) = n! / ( i! (n-i)! )
  Pascals triangle rule: (n,i) = (n-1,i-1) + (n-1,i)
  Binomial theorem: (a+b)^n = sum (n,i) a^i b^(n-i), i=0..n.

  For efficiency the binomial coefficients are stored in a static array.

  Author:
    Rich Morris Created on 13-Feb-2005
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand

      `curNumberOfParameters, name, NaN, numberOfParameters`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Binomial()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `binom(int n, int i)` Returns the binomial coefficients. nCi.
    `java.lang.Object` | `eval(java.lang.Object l, java.lang.Object r)`

    - ### Methods inherited from class com.singularsys.jep.functions.BinaryFunction

      `run`

    - ### Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand

      `asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, checkNumberOfParameters, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Binomial

          public Binomial()

  - ### Method Detail

    - #### eval

          public java.lang.Object eval(java.lang.Object l,
                                       java.lang.Object r)
                                throws EvaluationException

      Specified by:
        `eval` in class `BinaryFunction`
      Throws:
        `EvaluationException`

    - #### binom

          public static int binom(int n,
                                  int i)
                           throws java.lang.ArrayIndexOutOfBoundsException

      Returns the binomial coefficients. nCi.
      Parameters:
        `n` - n
        `i` - i
      Returns:
        the binomial coefficient
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException` - if n<0, i<0 or i>n

Copyright © 2018 Singular Systems http://www.singularsys.com/jep