Hi Saad, > On 24 Nov 2016, at 00:30, saad khalid <saad1...@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 _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum