Please note that the example below is just a baby case in which my problem occurs. Of course there is a simple workaround for my problem in this particular example, but I would like to apply this to more complicated finitely presented groups and also to reducible representations.
Assume I have the symmetric group $G$ on three letters, given by the presentation $$G = \langle x,y | x^2, y^3, xyx^{-1}y\rangle.$$ The group $G$ has the following irreducible complex representation $\rho$ of degree $2$:
$$x \mapsto \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \;\; y \mapsto \begin{pmatrix} \exp(4\pi i/3) & 0 \\ 0 & \exp(2\pi i /3) \end{pmatrix}.$$
What I want to do in GAP is to define the image of $\rho$ inside $GL(2, \mathbb C)$. For this, I load the repsn
package. The corresponding irreducible representation of $G$ in GAP is one indexed by the number 3. Here is, what I have to define the representation $\rho$:
LoadPackage("repsn");
f := FreeGroup("x","y");
G := f / [f.1^2, f.2^3, f.1*f.2*f.1^-1*f.2];
rho := IrreducibleAffordingRepresentation(Irr(G)[3]);
Now, I want to define the image of $\rho$ explicitly by defining the group generated by $\rho(x), \rho(y)$. But already
Image(rho,x);
gives
Error, Variable: 'x' must have a value not in any function at *stdin*:19
Similary,
Image(rho,f.1);
gives
Error, usage: Image(<map>), Image(<map>,<elm>), Image(<map>,<coll>) at /proc/cygdrive/C/gap-4.9.2/lib/mapping.gi:198 called from
<function "Image">( <arguments> )
called from read-eval loop at *stdin*:21
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
Therefore, defining the image $H$ of $\rho$ in the four following ways gives errors:
H := Group(Image(rho,x),Image(rho,y));
H := Group(Image(rho,f.1),Image(rho,f.2));
H := Group([Image(rho,x),Image(rho,y)]);
H := Group([Image(rho,f.1),Image(rho,f.2)]);
So what can I do to define the image of $\rho$ as the group generated by the images of the generators of $G$? (The bold part is crucial for my applications.)
I appreciate any help, thank you very much!
Best Answer
The first problem occurs because there is no GAP global variable called
x
at the point when you refer to it. As GAP manual says here, "Note that you cannot call the generators by their names. These names are not variables, but just display figures. So, if you want to access the generators by their names, you first have to introduce the respective variables and to assign the generators to them."The idea to use
f.1
instead was good, butf.1
refers to the generator of the free groupf
and not to the generator ofG
. It would work if you would have usedG.1
instead.This is how to make it work. First, the setup:
Now, if you want to define variables
x
andy
for the generators ofG
, then you can do this as follows:Another notation for the same uses the
^
symbol:Finally, you can calculate the
Image(rho)
immediately:Hope this helps!