focal (3) combinatorics.3tcl.gz

Provided by: tcllib_1.20+dfsg-1_all bug

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 Trackers [http://core.tcl.tk/tcllib/reportlist].  Please
       also report any ideas for enhancements you may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments  can  be  made  by
       going  to the Edit form of the ticket immediately after its creation, and then using the left-most button
       in the secondary navigation bar.

CATEGORY

       Mathematics