perm filename POLAY.WRU[FOO,LMM] blob
sn#099905 filedate 1974-05-01 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 This project is to modify an existing INTERLISP program due to
C00005 ENDMK
C⊗;
This project is to modify an existing INTERLISP program; due to
incompatiblities and features not available in ILISP you may find it
necessary to rewrite the whole thing. The general problem is to
compute the number of different colorings of a set of N objects under
symmetry group G ⊂ S↓n, coloring n1 of the objects with color 1, n2
of them with color 2, ..., nk of them with color k.
(n1+n2+n3 ...)=N.
By application of Polya enumeration formula, the number of colorings
is the coefficient of x1↑n1*x2↑n2*...*xk↑nk in the cycle index of G.
(the cycle index of a group is a polynomial expressed as a sum of
products of sums of powers of the xi↑s).The program you will be given
will work given the cycle index in a suitable representation. Project
will consist of:
(1) adding a preprocessor which will compute the cycle index given a
group in permutation list form.
(2) improving the algorithm by not attempting expansions of terms
which will not contribute to the final sum.
(3) {harder} rewriting / writing algorithm so that it counts the
number of double cosets (in Sn) given two groups G and H (the above
problem is a special case of this). Alternatively, expand it to work
on some other applications of general Polya enumeration.