multicool: Permutations of Multisets in Cool-Lex Order

Share:

A set of tools to permute multisets without loops or hash tables and to generate integer partitions. The permutation functions are based on C code from Aaron Williams. Cool-lex order is similar to colexicographical order. The algorithm is described in Williams, A. (2009) <DOI:10.1145/1496770.1496877> Loopless Generation of Multiset Permutations by Prefix Shifts. Symposium on Discrete Algorithms, New York, United States. The permutation code is distributed without restrictions. The code for stable and efficient computation of multinomial coefficients comes from Dave Barber. The code can be download from <http://tamivox.org/dave/multinomial/code.html> and is distributed without conditions. The package also generates the integer partitions of a positive, non-zero integer n. The C++ code for this is based on Python code from Jerome Kelleher which can be found here <http://jeromekelleher.net/tag/integer-partitions.html>. The C++ code and Python code are distributed without conditions.

Author
James Curran, Aaron Williams, Jerome Kelleher, Dave Barber
Date of publication
2016-11-25 23:05:03
Maintainer
James Curran <j.curran@auckland.ac.nz>
License
GPL-2
Version
0.1-10

View on CRAN

Man pages

allPerm
Generate and return all permutations of a multiset
Bell
Compute the Bell numbers
genComp
Generate all, or a subset, of the integer partitions of an...
initMC
Initialise the permutation object
multinom
Calculate multinomial coefficients
nextPerm
Return the next permutation of the multiset
Stirling2
Compute Stirling numbers of the second kind

Files in this package

multicool
multicool/src
multicool/src/multicool.cpp
multicool/src/multinomial.h
multicool/src/compositions.cpp
multicool/src/RcppExports.cpp
multicool/NAMESPACE
multicool/R
multicool/R/genComp.R
multicool/R/nextPerm.R
multicool/R/multinom.R
multicool/R/Stirling2.R
multicool/R/initMC.r
multicool/R/RcppExports.R
multicool/R/allPerm.R
multicool/R/zzz.R
multicool/README.md
multicool/MD5
multicool/DESCRIPTION
multicool/man
multicool/man/Bell.Rd
multicool/man/initMC.Rd
multicool/man/multinom.Rd
multicool/man/allPerm.Rd
multicool/man/Stirling2.Rd
multicool/man/genComp.Rd
multicool/man/nextPerm.Rd