|
ActiveTcl User Guide
|
|
|
[ Main table Of Contents | Tcllib Table Of Contents | Tcllib Index ]
math::combinatorics(n) 4.2 "Tcl Math Library"
math::combinatorics - Combinatorial functions in the Tcl Math
Library
TABLE OF
CONTENTS
SYNOPSIS
DESCRIPTION
COMMANDS
package require Tcl 8.2
package require math ?1.2.2?
The math package contains implementations of
several functions useful in combinatorial problems.
- ::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
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
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)
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.