Gene Boggs > Math-Counting > Math::Counting

Download:
Math-Counting-0.0801.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.0801   Source  

NAME ^

Math::Counting - Combinatorial counting operations

SYNOPSIS ^

  use Math::Counting ':student';
  printf "Given n=%d and r=%d:\nFact=%d\nPerm=%d\nComb=%d\n",
    $n, $r, factorial($n), permutation($n, $r), combination($n, $r);

  use Math::Counting ':big';
  printf "n=%d, r=%d:\nBig F=%d\n Big P=%d\nBig C=%d\n",
    $n, $r, bfact($n), bperm($n, $r), bcomb($n, $r);

DESCRIPTION ^

Compute the numerical factorial, number of n,r permutations and number of n,r combinations using Math::BigInt and also the technique of "tail call elimination" as described in Higher Order Perl and Mastering Algorithms with Perl.

FUNCTIONS ^

factorial

  $f = factorial($n);

Return the number of arrangements of n according to the "student" version using real arithmetic.

bfact

  $f = bfact($n);

Return the value of the "bfac" in Math::BigInt function, which is the "Right Way To Do It."

permutation

  $p = permutation($n, $r);

Return the number of arrangements of r elements drawn from a set of n elements. nPn is the same as n!. This function employs the "student" version using real arithmetic.

bperm

  $p = bperm($n, $r);

Return the Math::BigInt computation: n!/(n-r)!.

combination

  $c = combination($n, $r);

Return the number of ways to choose r elements from a set of n elements. This function employs the "student" version using real arithmetic.

bcomb

  $c = bcomb($n, $r);

Return the Math::BigInt computation: n!/r!(n-r)!.

TO DO ^

Figure out how to allow the use of different Math::BigInt variations, like GMP.

Provide the gamma function for the factorial of non-integer numbers?

SEE ALSO ^

"bfac" in Math::BigInt

Higher Order Perl by Mark Jason Dominus (http://hop.perl.plover.com/).

Mastering Algorithms with Perl by Orwant, Hietaniemi & Macdonald (http://www.oreilly.com/catalog/maperl/).

Algorithm::Combinatorics

String::OrderedCombination for nPk list generation.

Math::Combinatorics for nPn and nCr list generation.

http://en.wikipedia.org/wiki/Factorial

http://en.wikipedia.org/wiki/Permutation

http://en.wikipedia.org/wiki/Combination

AUTHOR ^

Gene Boggs <gene@cpan.org>

COPYRIGHT ^

Copyright 2005-2008 Gene Boggs All Rights Reserved

You may use this package under the same terms as Perl itself.