com.singularsys.jep.functions
Class Binomial

java.lang.Object
  extended by com.singularsys.jep.functions.PostfixMathCommand
      extended by com.singularsys.jep.functions.BinaryFunction
          extended by 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
Binomial()
           
 
Method Summary
static int binom(int n, int i)
          Returns the binomial coefficients.
 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, checkStack, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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.

Throws:
java.lang.ArrayIndexOutOfBoundsException - if n<0, i<0 or i>n


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