[GAP Forum] Computing image of a homomorphism

Frank Lübeck frank.luebeck at math.rwth-aachen.de
Wed Nov 4 14:17:22 GMT 2009


Dear Ravi Kulkarni, dear Forum,

In general it is not easy to construct from one matrix representation of a
group the other ones. 

But if the group and the degree of the representation you are interested in
are not too big  there is a chance that GAP can compute representing
matrices for a given character. 

See the functions 'IrreducibleRepresentations',
'IrreducibleRepresentationsDixon' and the functions in the 'repsn' package.

Below is an example GAP session without further comments. These examples
together with the GAP help system should get you started.

(The given representation for your group O is not needed, it would be more
efficient to start with S4 as permutation group.)

Best regards,

  Frank Luebeck

gap> m1 := [ [0,1,0],[-1,0,0],[0,0,1] ];;
gap> m2 := [ [0,1,0],[0,0,1],[1,0,0] ];;
gap> O := Group(m1,m2);;       
gap> cl := ConjugacyClasses(O);;
gap> pos := PositionProperty(cl, c-> Size(c) = 3);
5
gap> Irr(O);
[ Character( CharacterTable( Group(
    [ [ [ 0, 1, 0 ], [ -1, 0, 0 ], [ 0, 0, 1 ] ], 
      [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]) ), [ 1, 1, 1, 1, 1 ] ), 
  Character( CharacterTable( Group(
    [ [ [ 0, 1, 0 ], [ -1, 0, 0 ], [ 0, 0, 1 ] ], 
      [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]) ), [ 1, -1, 1, -1, 1 ] ), 
  Character( CharacterTable( Group(
    [ [ [ 0, 1, 0 ], [ -1, 0, 0 ], [ 0, 0, 1 ] ], 
      [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]) ), [ 2, 0, -1, 0, 2 ] ), 
  Character( CharacterTable( Group(
    [ [ [ 0, 1, 0 ], [ -1, 0, 0 ], [ 0, 0, 1 ] ], 
      [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]) ), [ 3, 1, 0, -1, -1 ] ), 
  Character( CharacterTable( Group(
    [ [ [ 0, 1, 0 ], [ -1, 0, 0 ], [ 0, 0, 1 ] ], 
      [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]) ), [ 3, -1, 0, 1, -1 ] ) ]
gap> List(cl, c-> TraceMat(Representative(c)));
[ 3, -1, 0, 1, -1 ]
gap> allreps := IrreducibleRepresentations(O);
[ CompositionMapping( [ (1,6)(2,4)(3,5), (1,4,5)(2,6,3), (2,5)(3,4), 
      (1,6)(2,5) ] -> [ [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] 
     ], <action isomorphism> ), 
  CompositionMapping( [ (1,6)(2,4)(3,5), (1,4,5)(2,6,3), (2,5)(3,4), 
      (1,6)(2,5) ] -> [ [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] 
     ], <action isomorphism> ), 
  CompositionMapping( [ (1,6)(2,4)(3,5), (1,4,5)(2,6,3), (2,5)(3,4), 
      (1,6)(2,5) ] -> 
    [ [ [ 0, 1 ], [ 1, 0 ] ], [ [ E(3), 0 ], [ 0, E(3)^2 ] ], 
      [ [ 1, 0 ], [ 0, 1 ] ], [ [ 1, 0 ], [ 0, 1 ] ] ], <action isomorphism> )
    , CompositionMapping( [ (1,6)(2,4)(3,5), (1,4,5)(2,6,3), (2,5)(3,4), 
      (1,6)(2,5) ] -> [ [ [ 0, 0, 1 ], [ 0, 1, 0 ], [ 1, 0, 0 ] ], 
      [ [ 0, 0, 1 ], [ 1, 0, 0 ], [ 0, 1, 0 ] ], 
      [ [ -1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, -1 ] ], 
      [ [ 1, 0, 0 ], [ 0, -1, 0 ], [ 0, 0, -1 ] ] ], <action isomorphism> ), 
  CompositionMapping( [ (1,6)(2,4)(3,5), (1,4,5)(2,6,3), (2,5)(3,4), 
      (1,6)(2,5) ] -> [ [ [ 0, 0, -1 ], [ 0, -1, 0 ], [ -1, 0, 0 ] ], 
      [ [ 0, 0, 1 ], [ 1, 0, 0 ], [ 0, 1, 0 ] ], 
      [ [ -1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, -1 ] ], 
      [ [ 1, 0, 0 ], [ 0, -1, 0 ], [ 0, 0, -1 ] ] ], <action isomorphism> ) ]
gap> rep2 := IrreducibleRepresentationsDixon(O, Irr(O)[2]);
CompositionMapping( [ (1,2,6,5), (1,2,3)(4,6,5) ] -> [ [ [ -1 ] ], [ [ 1 ] ] 
 ], <action isomorphism> )
gap> H := Group(Elements(cl[pos]));
<matrix group with 3 generators>
gap> OmodH := FactorGroup(O,H);
Group([ f1, f2^2 ])
gap> repsmodH := IrreducibleRepresentations(OmodH);
[ Pcgs([ f1, f2 ]) -> [ [ [ 1 ] ], [ [ 1 ] ] ], 
  Pcgs([ f1, f2 ]) -> [ [ [ -1 ] ], [ [ 1 ] ] ], 
  Pcgs([ f1, f2 ]) -> [ [ [ 0, 1 ], [ 1, 0 ] ], 
      [ [ E(3), 0 ], [ 0, E(3)^2 ] ] ] ]
gap> LoadPackage("repsn");
true
gap> rep2x := IrreducibleAffordingRepresentation(Irr(O)[2]);   
CompositionMapping( [ (1,2,6,5), (1,2,3)(4,6,5) ] -> [ [ [ -1 ] ], [ [ 1 ] ] 
 ], <action isomorphism> )

Instead of computing with the matrix group O it would be more efficient 
to compute with a permutation group. So, just use 
g := SymmetricGroup(4) instead of O, or use
g := Image(IsomorphismPermGroup(O)).

-- 
///  Dr. Frank Lübeck, Lehrstuhl D für Mathematik, Templergraben 64,  ///
\\\                    52062 Aachen, Germany                          \\\
///  E-mail: Frank.Luebeck at Math.RWTH-Aachen.De                        ///
\\\  WWW:    http://www.math.rwth-aachen.de/~Frank.Luebeck/           \\\



More information about the Forum mailing list