Rho

Introduction

Rho is a system for finding elements in the centralizer algebra of a representation. This is useful when performing decompositions. There is a primitive GAP front-end available, but most of the code is written in C.

Let G be a finite group generated by elements x and y. Let ρ be a representation of G affording the character χ. Let the decomposition of χ into irreducibles be χ = r1 χ1 + ... +rm χm. Let t be an element of G. Then Rho finds an element z in the centralizer algebra which has eigenvalue χi(t)/χi(1) with multiplicity ri χi(1). By considering the action of this element on eigenspaces, we can decompose the representation into irreducibles.

Example

The group A5 has a 4-dimensional deleted permutation representation. If we take the symmetric square of this representation, we get the representation 1+4+5. We will use Rho to construct this 5-dimensional representation.

Firstly, we construct the symmetric square.


gap> a;
[ [ -1, 1, -1, 1 ], [ 0, 0, -1, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, 0, 1 ] ]
gap> b;
[ [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], [ 0, 0, 1, 0 ], [ 1, -1, 1, -1 ] ]
gap> A := SymmetricSquare(a);
[ [ 1, -1, 1, -1, 1, -1, 1, 1, -1, 1 ], [ 0, 0, 1, 0, 0, -1, 0, 2, -1, 0 ], 
  [ 0, 1, 0, 0, -2, 1, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0, 1, 0, -1, 2 ], 
  [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ], 
  [ 0, 0, 0, 0, 0, 0, 0, 0, -1, 0 ], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ], 
  [ 0, 0, 0, 0, 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ] ]
gap> B := SymmetricSquare(b);
[ [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ], 
  [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ], [ 2, -1, 1, -1, 0, 0, 0, 0, 0, 0 ], 
  [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ], 
  [ 0, 0, 0, 1, 0, 0, -1, 0, 1, -2 ], [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ], 
  [ 0, 0, 1, 0, 0, -1, 0, 2, -1, 0 ], [ 1, -1, 1, -1, 1, -1, 1, 1, -1, 1 ] ]

We then find an element M in the centralizer algebra. We need to choose our parameter t so that there are 3 eigenspaces. Consulting the character table, we see that we can use any element of 2A (e.g. A) to do this, as the eigenvalues of M are then 1/1, 0/4 and 1/5.


gap> RhoInitialise("/tmp", "gaprho", "complexgaprho");
gap> t := RhoRun(A, B, A, 1);
Rho for GAP - 10 x 10 matrices
n =   13 D = 5.45879e-08
Finished iterating. Time taken = 0.6 seconds
Finished tidying up.
rec( scalar := 15, 
  matrix := [ [ 6, -3, 3, -3, 6, -3, 3, 6, -3, 6 ], [ 2, 1, 2, -2, 2, -2, 2, 4, 
          -2, 4 ], [ -2, 2, 1, 2, -4, 2, -2, -2, 2, -4 ], 
      [ 2, -2, 2, 1, 4, -2, 2, 4, -2, 2 ], [ 6, -3, 3, -3, 6, -3, 3, 6, -3, 6 ], 
      [ 4, -2, 2, -2, 2, 1, 2, 2, -2, 4 ], [ -4, 2, -2, 2, -2, 2, 1, -4, 2, -2 ],
      [ 6, -3, 3, -3, 6, -3, 3, 6, -3, 6 ], [ 4, -2, 2, -2, 4, -2, 2, 2, 1, 2 ], 
      [ 6, -3, 3, -3, 6, -3, 3, 6, -3, 6 ] ] )
gap> M := t.matrix / t.scalar;;

We can check that M commutes with the group


gap> M * A = A * M;
true
gap> M * B = B * M;
true

The diagonalised form of M is diag(1, 0, 0, 0, 0, 1/5, 1/5, 1/5, 1/5, 1/5). We therefore consider the action of the group on the 1/5-eigenspace.


gap> N := NullspaceMat(M - 1/5 * IdentityMat(10)); 
[ [ 2/3, 0, 1, 0, -2/3, 1, 0, 0, 0, 0 ], [ -2/3, 0, 0, 1, 2/3, 0, 1, 0, 0, 0 ], 
  [ 0, 3/2, 3/2, 0, -1, 0, 0, 1, 0, 0 ], [ 2/3, 1, 1, -1, -2/3, 0, 0, 0, 1, 0 ], 
  [ 0, 3/2, 0, -3/2, -1, 0, 0, 0, 0, 1 ] ]
gap> V := VectorSpace(Rationals, N);;
gap> VB := Basis(V, N);;
gap> A2 := List(VB, x->Coefficients(VB, x*A));
[ [ 4/3, -1/3, 0, -2/3, 2/3 ], [ 2/3, 1/3, 0, -4/3, 4/3 ], 
  [ 0, -3/2, 2, -3/2, 0 ], [ -2/3, -7/3, 2, -2/3, -4/3 ], 
  [ -3/2, -3/2, 2, 0, -2 ] ]
gap> B2 := List(VB, x->Coefficients(VB, x*B));
[ [ 0, 0, 0, 1, -2/3 ], [ 0, -1, 0, 1, -4/3 ], [ 0, 0, 1, 0, -1 ], 
  [ -1, 0, 2, -1, -2/3 ], [ -1, 1, 1, -1, 0 ] ]

Finally, we change bases to get integral matrices.


gap> G2 := Group(A2, B2);
<matrix group with 2 generators>
gap> L := InvariantLattice(G2);;
gap> L2 := LLLReducedBasis(L).basis;;
gap> A3 := L2 * A2 * L2^-1;
[ [ 0, -2, 1, 0, 1 ], [ -2, 0, 2, 0, -1 ], [ -1, -1, 2, 0, 0 ], 
  [ -1, 0, 1, 1, -1 ], [ -2, 1, 2, 0, -2 ] ]
gap> B3 := L2 * B2 * L2^-1;
[ [ -1, 1, 1, 1, -2 ], [ -1, 0, 2, -1, -1 ], [ 0, 0, 1, 0, -1 ], 
  [ 0, 0, 1, -1, 0 ], [ 0, 0, 1, -2, 0 ] ]

The matrices A3 and B3 give the 5-dimensional irreducible representation of A5 in standard generators.

Source code


Last updated 23rd September 2005 Valid HTML 4.01! Valid CSS!