math::combinatorics(n)         Tcl Math Library         math::combinatorics(n)



______________________________________________________________________________

NAME
       math::combinatorics - Combinatorial functions in the Tcl Math Library

SYNOPSIS
       package require Tcl  8.2

       package require math  ?1.2.3?

       ::math::ln_Gamma z

       ::math::factorial x

       ::math::choose n k

       ::math::Beta z w

_________________________________________________________________

DESCRIPTION
       The math package contains implementations of several functions useful
       in combinatorial problems.

COMMANDS
       ::math::ln_Gamma z
              Returns the natural logarithm of the Gamma function for the
              argument z.

              The Gamma function is defined as the improper integral from zero
              to positive infinity of


                t**(x-1)*exp(-t) dt


       The approximation used in the Tcl Math Library is from Lanczos, ISIAM
       J. Numerical Analysis, series B, volume 1, p. 86.  For "x > 1", the
       absolute error of the result is claimed to be smaller than 5.5*10**-10
       -- that is, the resulting value of Gamma when


                exp( ln_Gamma( x) )


              is computed is expected to be precise to better than nine
              significant figures.

       ::math::factorial x
              Returns the factorial of the argument x.

              For integer x, 0 <= x <= 12, an exact integer result is
              returned.

              For integer x, 13 <= x <= 21, an exact floating-point result is
              returned on machines with IEEE floating point.

              For integer x, 22 <= x <= 170, the result is exact to 1 ULP.

              For real x, x >= 0, the result is approximated by computing
              Gamma(x+1) using the ::math::ln_Gamma function, and the result
              is expected to be precise to better than nine significant
              figures.

              It is an error to present x <= -1 or x > 170, or a value of x
              that is not numeric.

       ::math::choose n k
              Returns the binomial coefficient C(n, k)


                 C(n,k) = n! / k! (n-k)!


              If both parameters are integers and the result fits in 32 bits,
              the result is rounded to an integer.

              Integer results are exact up to at least n = 34.  Floating point
              results are precise to better than nine significant figures.

       ::math::Beta z w
              Returns the Beta function of the parameters z and w.


                 Beta(z,w) = Beta(w,z) = Gamma(z) * Gamma(w) / Gamma(z+w)


              Results are returned as a floating point number precise to
              better than nine significant digits provided that w and z are
              both at least 1.

BUGS, IDEAS, FEEDBACK
       This document, and the package it describes, will undoubtedly contain
       bugs and other problems.  Please report such in the category math of
       the Tcllib SF Trackers
       [http://sourceforge.net/tracker/?group_id=12883].  Please also report
       any ideas for enhancements you may have for either package and/or
       documentation.

CATEGORY
       Mathematics



math                                 1.2.3              math::combinatorics(n)
