[GAP Forum] cycle index and Polya enumeration
Gordon Royle
gordon at maths.uwa.edu.au
Sun Dec 19 23:25:46 GMT 2010
I wish GAP had decent support for polynomials...... This is a bit clunky because I have to use x_1000 for the final variable to sub into the expression...
cycleIndex computes the cycle index... say
zg = cycleIndex(g);
Then do
Value(zg, nvars(deg), xvals(deg))
to substitute in the usual "1+x, 1+x^2, 1+x^3 ... " etc...
where "deg" is the degree of the group.
###############################################################################
#
# Calculates the cycle index of a group directly from the conjugacy classes
#
cycleIndex := function(g) local cl,cs,x,px,term,zg,deg,i;
zg := 0;
deg := NrMovedPoints(g);
cl := ConjugacyClasses(g);
for x in cl do
px := Representative(x);
cs := CycleStructurePerm(px);
term := Size(x) * Indeterminate(Rationals,1) ^ (deg - NrMovedPoints(px));
#Print(cs,"-");
for i in [1..deg] do
if (IsBound(cs[i])) then
term := term * Indeterminate(Rationals,i+1)^cs[i];
fi;
od;
#Print(term,"\n");
zg := zg + term;
od;
return zg/Order(g);
end;
############################################################################
# Returns a list of the first n indeterminates to sub into the cycle index
nvars := function(n) local i, vars;
vars := [];
for i in [1..n] do
Add(vars,Indeterminate(Rationals,i));
od;
return vars;
end;
############################################################################
# Returns a list of length n, with entries equal to 1+x, 1+x^2 and so on
xvals := function(n) local i, vals, x;
x := Indeterminate(Rationals,1000);
Print(IndeterminateNumberOfLaurentPolynomial(x),"\n");
vals := [];
for i in [1..n] do
Add(vals,1+x^i);
od;
return vals;
end;
On 19/12/2010, at 8:22 PM, Hebert Pérez-Rosés wrote:
> Dear all,
>
> Does anybody have a GAP function to compute the cycle index of a permutation
> group, and perform Polya enumeration?
>
> Best regards,
>
> Hebert Perez-Roses
> The University of Newcastle, Australia
> _______________________________________________
> Forum mailing list
> Forum at mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum
>
More information about the Forum
mailing list