[GAP Forum] Difficulty Understanding how to Generate Group and Compute Molien Series

Max Horn max at quendi.de
Thu Nov 24 14:09:51 GMT 2016


Hi Saad,

> On 24 Nov 2016, at 00:30, saad khalid <saad1225 at gmail.com> wrote:
> 
> Hello everyone!
> 
> I'm coming from using Macaulay2 (and not knowing much of anything about
> representation theory) to generate groups and their corresponding Molien
> series. In Macaulay2, I would create a field with some qth root of unity.
> For example, if I wanted q = 8, I would use:
> K = toField(QQ[zet]/(zet^4 + 1))
> 
> Then, I would pick some matrix I wanted to use to generate the group:
> 
> A = matrix{{zet^(a1),0,0},{0,zet^(a2),0},{0,0,zet^(a3)}} #a1, a2, a3 are
> what I would pick.

In GAP, you can get a primitive 8-th root of unity by E(8), and the field it generates by CF(8). So you could write your matrix like this:

z := E(8);
A := DiagonalMat([z^a1,z^a2,z^a3]);

> 
> Notice that this is diagonal(all the matrices I'm dealing with are
> diagonal).
> 
> Then, I would generate the group for A in the field K, and compute its
> molienseries:
> B = generateGroup({A},K)
> molienSeries B

The equivalent to the first command in GAP:

B := Group( A );

As to the second command, the corresponding GAP function is MolienSeries(), but it takes a character of a group, not a (matrix) group. But as you say, you can easily convert your matrix representation into a character as follows:

chi := Character(B, List(ConjugacyClasses(B), c -> TraceMat(Representative(c))));

Then we can apply MolienSeries, and get something like this (for a1=1, a2=2, a3=3):

gap> MolienSeries(chi);
( 1-z-z^2+2*z^3+2*z^4-2*z^5+z^7 ) / ( (1-z^8)*(1-z^2)*(1-z) )


Hope that helps,
Max


More information about the Forum mailing list