home *** CD-ROM | disk | FTP | other *** search
/ Math Solutions 1995 October / Math_Solutions_CD-ROM_Walnut_Creek_October_1995.iso / pc / mac / discrete / lib / lattperf.g < prev    next >
Encoding:
Text File  |  1993-05-05  |  45.7 KB  |  1,448 lines

  1. #############################################################################
  2. ##
  3. #A  lattperf.g                  GAP library                    J\"urgen Mnich
  4. ##
  5. #A  @(#)$Id: lattperf.g,v 3.5 1993/01/20 17:29:56 felsch Rel $
  6. ##
  7. #Y  Copyright 1990-1992,  Lehrstuhl D fuer Mathematik,  RWTH Aachen,  Germany
  8. ##
  9. ##  This file contains the catalogue of perfect groups.  It is taken from the
  10. ##  Cayley routine 'percat' by Guenter Sandloebes and Volkmar Felsch.
  11. ##  Special thanks to Goetz Pfeiffer, who entered some of the following group
  12. ##  descriptions.
  13. ##
  14. #H  $Log: lattperf.g,v $
  15. #H  Revision 3.5  1993/01/20  17:29:56  felsch
  16. #H  removed overlong lines
  17. #H
  18. #H  Revision 3.4  1992/12/04  16:05:34  fceller
  19. #H  completed the catalogue to contain all PERCAT
  20. #H
  21. #H  Revision 3.3  1992/03/17  12:31:20  jmnich
  22. #H  minor style changes, more bug fixes
  23. #H
  24. #H  Revision 3.2  1992/02/29  13:25:11  jmnich
  25. #H  general library review, some bug fixes
  26. #H
  27. #H  Revision 3.1  1992/02/12  15:37:22  martin
  28. #H  initial revision under RCS
  29. #H
  30. ##
  31.  
  32.  
  33. #############################################################################
  34. ##
  35. ## Abstract generators used in the catalogue.
  36. ##
  37. ## Warning: These objects are global variables which is O.K. for this file.
  38. ##          However if they are used and bounded their previous values would
  39. ##          be lost if the following procedure is removed.
  40. ##
  41.  
  42. if IsBound( PerfCat_a ) then Unbind( PerfCat_a ); fi;
  43. if IsBound( PerfCat_b ) then Unbind( PerfCat_b ); fi;
  44.  
  45. if IsBound( a ) then
  46.     PerfCat_a := a;
  47.     a := AbstractGenerator( "a" );
  48. else
  49.     a := AbstractGenerator( "a" );
  50. fi;
  51. if IsBound( b ) then
  52.     PerfCat_b := b;
  53.     b := AbstractGenerator( "b" );
  54. else
  55.     b := AbstractGenerator( "b" );
  56. fi;
  57.  
  58.  
  59. #############################################################################
  60. ##
  61. ## The catalogue
  62. ##
  63. ##
  64. ## An entry in the catalogue of perfect groups has the following structure:
  65. ##
  66. ## rec(
  67. ## )
  68. ##
  69.  
  70. PerfectGroupsCatalogue := [
  71.  
  72.     #########################################################################
  73.     ##
  74.     ## A_5 = PSL( 2, 4 ) = PSL( 2, 5 )
  75.     ##
  76.     rec(
  77.         generators    := [ a, b ],
  78.         isPerfect     := true,
  79.         isSimple      := true,
  80.         size          := 60,
  81.         grouptype     := [],
  82.         generatortype := [ [ 2, 15, 1, 15, 15, 0 ],
  83.                            [ 3,  4, 1, 20, 20, 0 ] ],
  84.         relations     := [ a^2, b^3, (a*b)^5 ],
  85.         antirelations := [],
  86.         subgroups     := []
  87.     ),
  88.  
  89.     #########################################################################
  90.     ##
  91.     ## SL( 2, 5 )
  92.     ##
  93.     rec(
  94.         generators    := [ a, b ],
  95.         isPerfect     := true,
  96.         size          := 120,
  97.         grouptype     := [],
  98.         generatortype := [ [ 4, 30, 1, 30, 30, 0 ],
  99.                            [ 3,  2, 2, 20, 20, 0 ] ],
  100.         relations     := [ a^4, b^3, (a*b)^5, a^2*b/(b*a^2) ],
  101.         antirelations := [ a^2 ],
  102.         subgroups     := []
  103.     ),
  104.  
  105.     #########################################################################
  106.     ##
  107.     ## PSL( 2, 7 ) = PSL( 3, 2 )
  108.     ##
  109.     rec(
  110.         generators    := [ a, b ],
  111.         isPerfect     := true,
  112.         isSimple      := true,
  113.         size          := 168,
  114.         grouptype     := [],
  115.         generatortype := [ [ 2, 21, 1, 21, 21, 0 ],
  116.                            [ 3,  8, 2, 56, 56, 0 ] ],
  117.         relations     := [ a^2, b^3, (a*b)^7, (a*b^2*a*b)^4 ],
  118.         antirelations := [],
  119.         subgroups     := []
  120.     ),
  121.  
  122.     #########################################################################
  123.     ##
  124.     ## SL( 2, 7 )
  125.     ##
  126.     rec(
  127.         generators    := [ a, b ],
  128.         isPerfect     := true,
  129.         size          := 336,
  130.         grouptype     := [],
  131.         generatortype := [ [ 4, 42, 1, 42, 42, 0 ],
  132.                            [ 3,  4, 2, 56, 56, 0 ] ],
  133.         relations     := [ a^4, b^3, (a*b)^7, (a^2*b)/(b*a^2),
  134.                           (a^3*b^2*a*b)^4/a^2 ],
  135.         antirelations := [ a^2 ],
  136.         subgroups     := []
  137.     ),
  138.  
  139.     #########################################################################
  140.     ##
  141.     ## A_6 = PSL( 2, 9 )
  142.     ##
  143.     rec(
  144.         generators    := [ a, b ],
  145.         isPerfect     := true,
  146.         isSimple      := true,
  147.         size          := 360,
  148.         grouptype     := [],
  149.         generatortype := [ [ 3, 40, 1, 40, 80, 0 ],
  150.                            [ 4,  9, 2, 90, 90, 0 ] ],
  151.         relations     := [ a^3, b^4, (a*b)^5, ((b*a)^4*a*b)^2 ],
  152.         antirelations := [],
  153.         subgroups     := [
  154.             rec(
  155.                 generators := [ b^2, a*b^3*a*b ],
  156.                 isPerfect  := true,
  157.                 isSimple   := true,
  158.                 size       := 60
  159.             ),
  160.             rec(
  161.                 generators := [ b^2, (a*b)^2*a ],
  162.                 isPerfect  := true,
  163.                 isSimple   := true,
  164.                 size       := 60
  165.             )
  166.         ]
  167.     ),
  168.  
  169.     #########################################################################
  170.     ##
  171.     ## PSL( 2, 8 )
  172.     ##
  173.     rec(
  174.         generators    := [ a, b ],
  175.         isPerfect     := true,
  176.         isSimple      := true,
  177.         size          := 504,
  178.         grouptype     := [],
  179.         generatortype := [ [ 7, 72, 3, 72, 216, 0 ],
  180.                            [ 2,  7, 1, 63,  63, 0 ] ],
  181.         relations     := [ a^7, b^2, (a*b)^3, (a^3*b*a^5*b*a^3*b)^2 ],
  182.         antirelations := [],
  183.         subgroups     := []
  184.     ),
  185.  
  186.     #########################################################################
  187.     ##
  188.     ## PSL( 2, 11 )
  189.     ##
  190.     rec(
  191.         generators    := [ a, b ],
  192.         isPerfect     := true,
  193.         isSimple      := true,
  194.         size          := 660,
  195.         grouptype     := [],
  196.         generatortype := [ [ 11, 60, 2, 60, 120, 0 ],
  197.                            [  2, 11, 1, 55,  55, 0 ] ],
  198.         relations     := [ a^11, b^2, (a*b)^3, (a^4*b*a^6*b)^2 ],
  199.         antirelations := [],
  200.         subgroups     := [
  201.             rec(
  202.                 generators := [ b, a^9*b*a ],
  203.                 isPerfect  := true,
  204.                 isSimple   := true,
  205.                 size       := 60
  206.             ),
  207.             rec(
  208.                 generators := [ b, a^8*b*a^2 ],
  209.                 isPerfect  := true,
  210.                 isSimple   := true,
  211.                 size       := 60
  212.             )
  213.         ]
  214.     ),
  215.  
  216.     #########################################################################
  217.     ##
  218.     ## SL( 2, 9 )
  219.     ##
  220.     rec(
  221.         generators    := [ a, b ],
  222.         isPerfect     := true,
  223.         size          := 720,
  224.         grouptype     := [],
  225.         generatortype := [ [ 3, 40, 1, 40,  80, 0 ],
  226.                            [ 8,  9, 4, 90, 180, 0 ] ],
  227.         relations     := [ a^3, b^8, (a*b)^5, (a*b^4)/(b^4*a),
  228.                            ((b*a)^4*a*b)^2/b^4 ],
  229.         antirelations := [ b^4 ],
  230.         subgroups     := [
  231.             rec(
  232.                 generators := [ a*(a*b^6)^2*b*a, b^5*a ],
  233.                 isPerfect  := true,
  234.                 size       := 120
  235.             ),
  236.             rec(
  237.                 generators := [ a*b*(a*b^6)*a^2, (a*b^6)*b*a*(a*b^6)^2*b ],
  238.                 isPerfect  := true,
  239.                 size       := 120
  240.             )
  241.         ]
  242.     ),
  243.  
  244.     #########################################################################
  245.     ##
  246.     ## 960.1
  247.     ##
  248.     rec(
  249.         generators    := [ a, b ],
  250.         isPerfect     := true,
  251.         size          := 960,
  252.         grouptype     := [ [ 1, 3, 320 ] ],
  253.         generatortype := [ [ 3, 320, 1, 320, 320, 0 ],
  254.                            [ 4,   3, 2,  60, 180, 0 ] ],
  255.         relations     := [ a^3, b^4, (b*a)^5, (b^2*a)^3, (b^3*a)^5,
  256.                              (b*a*b^3*a*(b*a)^2*a)^2 ],
  257.         antirelations := [ b^2 ],
  258.         subgroups     := [
  259.             rec(
  260.                 generators := [ b*a^2*b^3*a*b^3*a^2*b^3*a^2, a^2 ],
  261.                 isPerfect  := true,
  262.                 size       := 60
  263.             ),
  264.             rec(
  265.                 generators := [ b*a^2*b^3*a*b^3*a^2*b^3*a^2, a*b^2*a ],
  266.                 isPerfect  := true,
  267.                 size       := 60
  268.             ),
  269.             rec(
  270.                 generators := [ b*a^2*b^3*a*b^3*a^2*b^3*a^2,
  271.                                 a^2*b^3*a^2*b*a ],
  272.                 isPerfect  := true,
  273.                 size       := 60
  274.             ),
  275.             rec(
  276.                 generators := [ b*a^2*b^3*a*b^3*a^2*b^3*a^2,
  277.                                 b^3*a*b*a*b^3*a^2 ],
  278.                 isPerfect  := true,
  279.                 size       := 60
  280.             )
  281.         ]
  282.     ),
  283.  
  284.     #########################################################################
  285.     ##
  286.     ## 960.2
  287.     ##
  288.     rec(
  289.         generators    := [ a, b ],
  290.         isPerfect     := true,
  291.         size          := 960,
  292.         grouptype     := [ [ 1, 3, 80 ] ],
  293.         generatortype := [ [ 4, 120, 1, 120, 120, 60 ],
  294.                            [ 3,   8, 2,  80,  80,  0 ] ],
  295.         relations     := [ a^4, b^3, (a*b)^5, ((b*a)^2*a*b)^2, (a^3*b)^5 ],
  296.         antirelations := [ a^2 ],
  297.         subgroups     := [
  298.             rec(
  299.                 generators := [ b*a^2*b^2*a, b^2 ],
  300.                 isPerfect  := true,
  301.                 size       := 60
  302.             )
  303.         ]
  304.     ),
  305.  
  306.     #########################################################################
  307.     ##
  308.     ## 1080.1
  309.     ##
  310.     rec(
  311.         generators    := [ a, b ],
  312.         isPerfect     := true,
  313.         size          := 1080,
  314.         grouptype     := [],
  315.         generatortype := [ [  3, 120, 1, 120, 240, 2 ],
  316.                            [ 12,   3, 4,  90, 180, 0 ] ],
  317.         relations     := [ a^3, b^12, (a*b)^5, a*b^4/(b^4*a),
  318.                              ((b*a)^4*a*b)^2/(b^4) ],
  319.         antirelations := [ b^4 ],
  320.         subgroups     := [
  321.             rec(
  322.                 generators := [ b^6, a^2*b^11*a^2*b*a ],
  323.                 isPerfect  := true,
  324.                 size       := 60
  325.             ),
  326.             rec(
  327.                 generators := [ b^6, b*a^2*b^11*a^2*b ],
  328.                 isPerfect  := true,
  329.                 size       := 60
  330.             )
  331.         ]
  332.     ),
  333.  
  334.     #########################################################################
  335.     ##
  336.     ## PSL( 2, 13 )
  337.     ##
  338.     rec(
  339.         generators    := [ a, b ],
  340.         isPerfect     := true,
  341.         size          := 1092,
  342.         grouptype     := [],
  343.         generatortype := [ [ 7, 156, 3, 156, 468, 0 ],
  344.                            [ 2,   7, 1,  91,  91, 0 ] ],
  345.         relations     := [ a^7, b^2, (a^2*b)^3, (a*b)^6 ],
  346.         antirelations := [],
  347.         subgroups     := []
  348.     ),
  349.  
  350.     #########################################################################
  351.     ##
  352.     ## SL( 2, 11 )
  353.     ##
  354.     rec(
  355.         generators    := [ a, b ],
  356.         isPerfect     := true,
  357.         size          := 1320,
  358.         grouptype     := [],
  359.         generatortype := [ [ 11, 60, 2,  60, 120, 0 ],
  360.                            [  4, 11, 2, 110, 110, 0 ] ],
  361.         relations     := [ a^11, b^4, (a*b)^3, a*b^2/(b^2*a),
  362.                              (a^4*b*a^6*b)^2/(b^2) ],
  363.         antirelations := [ b^2 ],
  364.         subgroups     := [
  365.             rec(
  366.                 generators := [ b*a*b*a^9*b*a^2*b*a^10, (b*a^3)^2*a*b^3*a ],
  367.                 isPerfect  := true,
  368.                 size       := 120
  369.             ),
  370.             rec(
  371.                 generators := [ a*b*a^2, b*a^2*b*a^7*b*a*b^3 ],
  372.                 isPerfect  := true,
  373.                 size       := 120
  374.             )
  375.         ]
  376.     ),
  377.  
  378.     #########################################################################
  379.     ##
  380.     ## 2^3 se PSL( 2, 7 )  1344.1
  381.     ##
  382.     rec(
  383.         generators    := [ a, b ],
  384.         isPerfect     := true,
  385.         size          := 1344,
  386.         grouptype     := [ [ 1, 4, 420 ] ],
  387.         generatortype := [ [ 3, 224, 1, 224, 224, 0 ],
  388.                            [ 4,   6, 1,  84,  84, 0 ] ],
  389.         relations     := [ a^3, b^4, (b*a^2)^7, (b*a^2*b^2*a)^2/(b^2),
  390.                              (b^2*a^2*b*a)^2,
  391.                              (a*b*a^2*b)^2/(b*a*b*a^2*b*a*b*a^2*b^2) ],
  392.         antirelations := [ b^2 ],
  393.         subgroups     := [
  394.             rec(
  395.                 generators := [ b^2*a^2*b*a, a^2 ],
  396.                 isPerfect  := true,
  397.                 size       := 168
  398.             ),
  399.             rec(
  400.                 generators := [ (b*a*b*a^2)^2, a^2 ],
  401.                 isPerfect  := true,
  402.                 size       := 168
  403.             )
  404.         ]
  405.     ),
  406.  
  407.     #########################################################################
  408.     ##
  409.     ## 2^3 nse PSL( 2, 7 )  1344.2
  410.     ##
  411.     rec(
  412.         generators    := [ a, b ],
  413.         isPerfect     := true,
  414.         size          := 1344,
  415.         grouptype     := [ [ 1, 4, 84 ] ],
  416.         generatortype := [ [ 3, 224, 1, 224, 224, 0 ],
  417.                            [ 2,   6, 1,  84,  84, 7 ] ],
  418.         relations     := [ a^3, b^2, (a*b)^7, ((b*a)^2*a)^8,
  419.                a^2*b*(a^2*b*a*b*a*b)^2*a^2*b*a
  420.                /(b*a^2*b*(a^2*b*a*b*a*b)^2*a^2*b*a*b) ],
  421.         antirelations := [ ((b*a)^2*a)^4 ],
  422.         subgroups     := []
  423.     ),
  424.  
  425.     #########################################################################
  426.     ##
  427.     ## 1920.1
  428.     ##
  429.     rec(
  430.         generators    := [ a, b ],
  431.         isPerfect     := true,
  432.         size          := 1920,
  433.         grouptype     := [ [ 1, 2, 31 ],
  434.                            [ 2, 2, 15, 0 ] ],
  435.         generatortype := [ [ 4, 120, 2, 120, 480, 0 ],
  436.                            [ 3,   8, 2,  80,  80, 0 ] ],
  437.         relations     := [ a^4, b^3, (a^3*b)^5, (a*b)^10,
  438.                              ((b*a)^2*a*b)^2/(a*b)^5, a*(a*b)^5/((a*b)^5*a),
  439.                              b*(a*b)^5/((a*b)^5*b) ],
  440.         antirelations := [ (a^2*b^2*a*b)^2, a*b*a^2*b^2*a ],
  441.         subgroups     := [
  442.             rec(
  443.                 generators := [ a*b^2*a^2*b^2*a*b^2, b*a*b^2*a^2*b^2*a*b ],
  444.                 isPerfect  := true,
  445.                 size       := 120
  446.             )
  447.         ]
  448.     ),
  449.  
  450.     #########################################################################
  451.     ##
  452.     ## 1920.2
  453.     ##
  454.     rec(
  455.         generators    := [ a, b ],
  456.         isPerfect     := true,
  457.         size          := 1920,
  458.         grouptype     := [ [ 1, 2, 31 ],
  459.                            [ 2, 2, 15, 2 ],
  460.                            [ 3, 4, 60, 0 ] ],
  461.         generatortype := [ [ 4, 120, 1, 120, 480, 0 ],
  462.                            [ 3,   8, 2, 320, 320, 0 ] ],
  463.         relations     := [ a^4, b^3, (a*b)^5, (a^2*b)^3/(a^3*b)^5,
  464.                            (a^3*b)^10, (a*b*a^3*b*a*b*a*b^2)^2/(a^3*b)^5,
  465.                            a*(a^3*b)^5/((a^3*b)^5*a),
  466.                            b*(a^3*b)^5/((a^3*b)^5*b) ],
  467.         antirelations := [ (a^3*b)^5, a^2*(a^3*b)^5 ],
  468.         subgroups     := [
  469.             rec(
  470.                 generators := [ (b*a^3*b*a*b*a)^9, (a^3*b*a*b*a*b)^9 ],
  471.                 isPerfect  := true,
  472.                 size       := 120
  473.             ),
  474.             rec(
  475.                 generators := [ b*a^3*b*a, (a*b*a^3*b)^8*a^3*b ],
  476.                 isPerfect  := true,
  477.                 size       := 120
  478.             ),
  479.             rec(
  480.                 generators := [ (a^2*b*a*(a^3*b)^9*b)^9,
  481.                                 b^2*(a^3*b)^2*b*a*b*a^3 ],
  482.                 isPerfect  := true,
  483.                 size       := 120
  484.             ),
  485.             rec(
  486.                 generators := [ a^2*b*a*(a^3*b)^9*b^2*a^3*b,
  487.                                 (a^3*b)^9*b^2*a^3*b*a*b*a*(a^3*b)^9 ],
  488.                 isPerfect  := true,
  489.                 size       := 120
  490.             )
  491.         ]
  492.     ),
  493.  
  494.     #########################################################################
  495.     ##
  496.     ## 1920.3
  497.     ##
  498.     rec(
  499.         generators    := [ a, b ],
  500.         isPerfect     := true,
  501.         size          := 1920,
  502.         grouptype     := [ [ 1, 2, 31 ],
  503.                            [ 2, 2, 15, 2 ],
  504.                            [ 3, 4, 60, 4 ] ],
  505.         generatortype := [ [ 4, 120, 1, 120, 240, 240 ],
  506.                            [ 3,   8, 2, 320, 320, 0 ] ],
  507.         relations     := [ a^4, b^3, (a*b)^5, (a^2*b)^3, (b*a^3)^5 ],
  508.     antirelations := [ (b*a*b*a^3*b*a*b^2*a)^2 ],
  509.         subgroups     := [
  510.         rec(
  511.         generators := [ b^2*a*b*a^3*b*a*b*a*b^2*a,
  512.                 b*a*b*a^3*b*a*b*a*b^2*a*b ],
  513.                 isPerfect  := true,
  514.         size       := 120
  515.             ),
  516.         rec(
  517.         generators := [ (a*b)^2*b*a^3*b^2*a*b^2*a*b*a*b^2,
  518.                 a*b^2*a*b*a*b*a^3*b*a^3*b^2 ],
  519.                 isPerfect  := true,
  520.         size       := 120
  521.             ),
  522.         rec(
  523.         generators := [ (a*b*a^3*b)^2*b*a^3*b^2,
  524.                 b*b*a^3*b*a^3*b^2*a*b*a^3 ],
  525.                 isPerfect  := true,
  526.         size       := 120
  527.             ),
  528.         rec(
  529.         generators := [ a*b*a*b*a^3*b*a^3*b*b*a^3*b^2,
  530.                 a^2*b^2*a*b*a^3*b^2*a*b*a^3 ],
  531.                 isPerfect  := true,
  532.         size       := 120
  533.             )
  534.     ]
  535.     ),
  536.  
  537.     #########################################################################
  538.     ##
  539.     ## 1920.4
  540.     ##
  541.     rec(
  542.         generators    := [ a, b ],
  543.         isPerfect     := true,
  544.         size          := 1920,
  545.         grouptype     := [ [ 1, 2, 151 ] ],
  546.         generatortype := [ [ 4, 120, 1, 120, 240, 120 ],
  547.                            [ 3,   8, 2, 320, 320,   0 ] ],
  548.         relations     := [ a^4, b^3, (a*b)^10, (a^2*b)^3, (a^3*b)^5,
  549.                ((a*b)^2*a^3*b*a*b*b)^2 ],
  550.         antirelations := [ (a*b)^5 ],
  551.         subgroups     := [
  552.             rec(
  553.                 generators := [ (a*b)^2*a^3*b*a*b*b, b*a*a*b ],
  554.             isSimple   := true,
  555.                 isPerfect  := true,
  556.                 size       := 60
  557.             ),
  558.             rec(
  559.                 generators := [ (a*b)^2*a^3*b*a*b*b, (b*a*b)^4*a*b ],
  560.             isSimple   := true,
  561.                 isPerfect  := true,
  562.                 size       := 60
  563.             ),
  564.             rec(
  565.                 generators := [ a^2*b*a^3*b*b*a^3*b*b*a*b^2*a, b^2 ],
  566.         isSimple   := true,
  567.                 isPerfect  := true,
  568.                 size       := 60
  569.             ),
  570.             rec(
  571.                 generators := [ a^2*b*a^3*b*b*a^3*b*b*a*b^2*a,
  572.                 a^2*b^2*a^3*b^2*a*b*a^2 ],
  573.         isSimple   := true,
  574.                 isPerfect  := true,
  575.                 size       := 60
  576.             )
  577.         ]
  578.     ),
  579.  
  580.     #########################################################################
  581.     ##
  582.     ## 1920.5
  583.     ##
  584.     rec(
  585.         generators    := [ a, b ],
  586.         isPerfect     := true,
  587.         size          := 1920,
  588.         grouptype     := [ [ 1, 2, 31 ],
  589.                [ 2, 2, 15, 1] ],
  590.         generatortype := [ [ 4, 120, 2, 120, 480, 0 ],
  591.                            [ 3,  16, 2, 320, 320, 0 ] ],
  592.         relations     := [ a^4, b^3, (a*b)^5, (b^2*a^2*b*a)^2*a^2 ],
  593.         antirelations := [ (a^2*b)^2*b ],
  594.         subgroups     := [  ]
  595.     ),
  596.  
  597.     #########################################################################
  598.     ##
  599.     ## 1920.6
  600.     ##
  601.     rec(
  602.         generators    := [ a, b ],
  603.         isPerfect     := true,
  604.         size          := 1920,
  605.         grouptype     := [ [ 1, 2, 11 ] ],
  606.         generatortype := [ [ 8, 120, 1, 240, 240, 0 ],
  607.                            [ 3,   4, 2,  80,  80, 0 ] ],
  608.         relations     := [ a^8, b^3, (a*b)^5/a^4, (a^3*b)^5/a^4,
  609.                ((b*a)^2*a*b)^2/a^4, Comm(b,a^4) ],
  610.         antirelations := [ a^4 ],
  611.         subgroups     := [
  612.             rec(
  613.                 generators := [ a*b*a^7*b*a^2*b, b*a*b*a^7*b*a^2 ],
  614.                 isPerfect  := true,
  615.                 size       := 120
  616.             )
  617.         ]
  618.     ),
  619.  
  620.     #########################################################################
  621.     ##
  622.     ## 1920.7
  623.     ##
  624.     rec(
  625.         generators    := [ a, b ],
  626.         isPerfect     := true,
  627.         size          := 1920,
  628.         grouptype     := [ [ 1, 2, 131 ] ],
  629.         generatortype := [ [ 8, 240, 1, 240, 240, 0 ],
  630.                            [ 3,   4, 2,  80,  80, 0 ] ],
  631.         relations     := [ a^8, b^3, (a*b)^5, ((b*a)^2*a*b)^2,
  632.                (a^3*b)^5/a^4, b*a^4/(a^4*b) ],
  633.         antirelations := [ a^4 ],
  634.         subgroups     := [
  635.             rec(
  636.                 generators := [ (b*a)^2*a*b, a^2*b^2*a^6 ],
  637.             isSimple   := true,
  638.                 isPerfect  := true,
  639.                 size       := 60
  640.             )
  641.         ]
  642.     ),
  643.  
  644.     #########################################################################
  645.     ##
  646.     ## 2160
  647.     ##
  648.     rec(
  649.         generators    := [ a, b ],
  650.         isPerfect     := true,
  651.         size          := 2160,
  652.         grouptype     := [ ],
  653.         generatortype := [ [  3, 120, 1, 120, 240, 2 ],
  654.                            [ 24,   3, 8,  90, 360, 0 ] ],
  655.         relations     := [ a^3, b^24, (a*b)^5, a*b^4/(b^4*a),
  656.                ((b*a)^4*a*b)^2/b^4 ],
  657.         antirelations := [ b^8, (a*b*a*b^23)^3 ],
  658.         subgroups     := [
  659.             rec(
  660.                 generators := [ a*b*b*a^2*b*b*a^2*b^23*a,
  661.                     b^2*a*b*a^2*b^23*a*b ],
  662.                 isPerfect  := true,
  663.                 size       := 120
  664.             ),
  665.             rec(
  666.                 generators := [ b^23*a*b*a^2*b^2*a*b*a, a*b*a^2*b^69*a ],
  667.                 isPerfect  := true,
  668.                 size       := 120
  669.             )
  670.         ]
  671.     ),
  672.  
  673.     #########################################################################
  674.     ##
  675.     ## SL( 2, 13 )  2184
  676.     ##
  677.     rec(
  678.         generators    := [ a, b ],
  679.         isPerfect     := true,
  680.         size          := 2184,
  681.         grouptype     := [  ],
  682.         generatortype := [ [ 7, 156, 3, 156, 468, 0 ],
  683.                            [ 4,   7, 2, 182, 182, 0 ] ],
  684.         relations     := [ a^7, b^4, (a^2*b)^3, a*b^2/(b^2*a),
  685.                (a*b)^6/b^2 ],
  686.         antirelations := [ b^2 ],
  687.         subgroups     := [  ]
  688.     ),
  689.  
  690.     #########################################################################
  691.     ##
  692.     ## PSL( 2, 17 )  2448
  693.     ##
  694.     rec(
  695.         generators    := [ a, b ],
  696.         isPerfect     := true,
  697.     isSimple      := true,
  698.         size          := 2448,
  699.         grouptype     := [  ],
  700.         generatortype := [ [ 9, 272, 3, 272, 816, 0 ],
  701.                            [ 2,   9, 1, 153, 153, 0 ] ],
  702.         relations     := [ a^9, b^2, (a^2*b)^3, (a*b)^4 ],
  703.         antirelations := [  ],
  704.         subgroups     := [  ]
  705.     ),
  706.  
  707.     #########################################################################
  708.     ##
  709.     ## A_7
  710.     ##
  711.     rec(
  712.         generators    := [ a, b ],
  713.         isPerfect     := true,
  714.         size          := 2520,
  715.         grouptype     := [],
  716.         generatortype := [ [ 4, 630, 1, 630, 630, 0 ],
  717.                            [ 2,   4, 1, 105, 105, 0 ] ],
  718.         relations     := [ a^4, b^2, (b*a)^7, (b*a^3*b*a)^5, (b*a^2)^6,
  719.                              ((b*a)^2*a)^4, ((b*a)^2*a*b*a^3)^3 ],
  720.         antirelations := [],
  721.         subgroups     := [
  722.             rec(
  723.                 generators := [ a^2, (b*a^3)^2*b*a*b*a^3*b*a ],
  724.                 isPerfect  := true,
  725.                 size       := 60
  726.             ),
  727.             rec(
  728.                 generators := [ a^2, b*a^3*b*a*b*a^3*b*a^3*b ],
  729.                 isPerfect  := true,
  730.                 size       := 60
  731.             ),
  732.             rec(
  733.                 generators := [ a^2, (a*b*a^3*b)^2*a^2*b*a ],
  734.                 isPerfect  := true,
  735.                 size       := 168
  736.             ),
  737.             rec(
  738.                 generators := [ a^2, (b*a*b*a^3*b*a^3)^3*a ],
  739.                 isPerfect  := true,
  740.                 size       := 168
  741.             ),
  742.             rec(
  743.                 generators := [ (b*a^3*b*a)^2*b*a^3,
  744.                                 a*(b*a^3)^3*(b*a)^2*b*a^3 ],
  745.                 isPerfect  := true,
  746.                 size       := 360
  747.             )
  748.         ]
  749.     ),
  750.  
  751.     #########################################################################
  752.     ##
  753.     ## 2 nse 1344.1  2688.1
  754.     ##
  755.     rec(
  756.         generators    := [ a, b ],
  757.         isPerfect     := true,
  758.         size          := 2688,
  759.         grouptype     := [ [ 1, 2, 15 ],
  760.                [ 4, 2,  8, 1 ] ],
  761.         generatortype := [ [ 4, 168, 1, 168, 168, 168 ],
  762.                            [ 3,   8, 2, 224, 224,   0 ] ],
  763.         relations     := [ a^4, b^3, (a*b^2*a*a*b)^2/a^2,
  764.                    (a*a*b^2*a*b)^2/(a*b^2)^7,
  765.                (b*a*b^2*a)^2/(a*b*a*b^2*a*b*a*b^2*a*a),
  766.                    (a*b^2)^14, a*(a*b^2)^7/((a*b^2)^7*a),
  767.                 b*(a*b^2)^7/((a*b^2)^7*b) ],
  768.         antirelations := [ (a*b^2)^7, a^2*(a*b^2)^7 ],
  769.         subgroups     := [
  770.             rec(
  771.                 generators := [ b*(a*b^2*a)*b*(a*b^2*a)^5*b*a*b^2*a*b,
  772.                 ((b*a*b^2*a)^2*a*b^2*a^3*b^2*a)^7 ],
  773.                 isPerfect  := true,
  774.                 size       := 336
  775.             ),
  776.             rec(
  777.                 generators := [ ((b*a)^2*a^2*b)^7, b*a*b^2*a^3 ],
  778.                 isPerfect  := true,
  779.                 size       := 336
  780.             )
  781.         ]
  782.     ),
  783.  
  784.     #########################################################################
  785.     ##
  786.     ## 2 nse 1344.2  2688.2
  787.     ##
  788.     rec(
  789.         generators    := [ a, b ],
  790.         isPerfect     := true,
  791.         size          := 2688,
  792.         grouptype     := [ [ 1, 2, 15 ],
  793.                            [ 4, 2,  8, 7 ] ],
  794.         generatortype := [ [ 4, 168, 1, 168, 168, 168 ],
  795.                            [ 3,   8, 2, 224, 224,   0 ] ],
  796.         relations     := [ a^4, b^3, (b*a)^7/a^2, ((a*b)^2*b)^8,
  797.                b*a^2/(a^2*b), b^2*a*(b^2*a*b*a*b*a)^2*b^2*a*b/
  798.                (a*b^2*a*(b^2*a*b*a*b*a)^2*b^2*a*b*a) ],
  799.         antirelations := [ a^2, (b*a*b^2*a)^4*a^2 ],
  800.         subgroups     := [  ]
  801.     ),
  802.  
  803.     #########################################################################
  804.     ##
  805.     ## 2^4 se PSL( 2, 7 )  2688.3
  806.     ##
  807.     rec(
  808.         generators    := [ a, b ],
  809.         isPerfect     := true,
  810.         size          := 2688,
  811.         grouptype     := [ [ 1, 2, 99 ] ],
  812.         generatortype := [ [ 3, 224, 1, 224, 224,  0 ],
  813.                            [ 4,   6, 2, 168, 168, 84 ] ],
  814.         relations     := [ a^3, b^4, (b*a^2)^7, (b*b*a^2*b*a)^2,
  815.                (a*b*a^2*b)^2/
  816.                (b*a*b*a^2*b*a*b*a^2*b*b*(b*a^2*b*b*a)^2*b^2),
  817.                ((b*a^2*b*b*a)^2*b^2)^2, a*(b*a^2*b*b*a)^2*b^2/
  818.                    ((b*a^2*b*b*a)^2*b^2*a), b*(b*a^2*b*b*a)^2*b^2/
  819.                         ((b*a^2*b*b*a)^2*b^2*b) ],
  820.         antirelations := [ (b*a^2*b*b*a)^2*b^2 ],
  821.         subgroups     := [
  822.             rec(
  823.                 generators := [ b*b*a^2*b*a, a*b^3*a*b*a^2*b*a*b*a^2*b*a*b ],
  824.                 isSimple   := true,
  825.                 isPerfect  := true,
  826.                 size       := 168
  827.             ),
  828.             rec(
  829.                 generators := [ a*a*b*a^2*b^3*a^2, a*b*a^2*b^3 ],
  830.                 isPerfect  := true,
  831.                 size       := 336
  832.             )
  833.         ]
  834.     ),
  835.  
  836.     ########################################################################
  837.     ##
  838.     ## ASL(2,5) 3000
  839.     ##
  840.     rec(
  841.         generators     := [ a, b ],
  842.         isPerfect      := true,
  843.         size          := 3000,
  844.         grouptype      := [],
  845.         generatortype  := [ [ 5, 120, 4, 120, 480, 144 ],
  846.                  [ 3,  25, 2, 500, 500,   0 ] ],
  847.         relations      := [ a^5, b^3, (a*b^2)^4,
  848.                 (a^2*b^2)^2*a*b/(a*b^2*a*b*a*b^2*a^2) ],
  849.         antirelations  := [ (a*b^2)^2*b ],
  850.         subgroups      := [
  851.         rec(
  852.             generators := [ (a*b^2)^3, a*(a*b^2)^3*b*a*b*(a*b^2)^3*b*a ],
  853.             isPerfect  := true,
  854.             size       := 120
  855.         )
  856.         ]
  857.     ),
  858.  
  859.     #########################################################################
  860.     ##
  861.     ## PSL( 2, 19 )  3420
  862.     ##
  863.     rec(
  864.         generators    := [ a, b ],
  865.     isSimple      := true,
  866.         isPerfect     := true,
  867.         size          := 3420,
  868.         grouptype     := [  ],
  869.         generatortype := [ [ 9, 380, 3, 380, 1140, 0 ],
  870.                            [ 2,   9, 1, 171,  171, 0 ] ],
  871.         relations     := [ a^9, b^2, (a*b)^5, (a^8*b*a*b)^2 ],
  872.         antirelations := [  ],
  873.         subgroups     := [
  874.             rec(
  875.                 generators := [ b, (b*a^3)^3*a^4 ],
  876.             isSimple   := true,
  877.                 isPerfect  := true,
  878.                 size       := 60
  879.             ),
  880.             rec(
  881.                 generators := [ b, (a^3*b*a)^2*a^6*b ],
  882.             isSimple   := true,
  883.                 isPerfect  := true,
  884.                 size       := 60
  885.             )
  886.         ]
  887.     ),
  888.  
  889.     #########################################################################
  890.     ##
  891.     ## A5xA5 3600
  892.     ##
  893.     rec(
  894.         generators    := [ a, b ],
  895.         isPerfect     := true,
  896.         size          := 3600,
  897.         grouptype     := [],
  898.         generatortype := [ [ 6, 300, 1, 300, 600, 0 ],
  899.                            [ 6,  12, 1, 300, 600, 0 ] ],
  900.         relations     := [ a^6, b^6, Comm(a^2,b^2), (b*a)^5,
  901.                            b^3*a^5*b^2*a^4*b*a^3, (b*a^5)^5,
  902.                            (b*a)^3*a^2/(b^3*(b*a^5)^3) ],
  903.         antirelations := [ a^2, a^3 ],
  904.         subgroups     := [
  905.             rec(
  906.                 generators := [ a^3, b^4 ],
  907.                 isPerfect  := true,
  908.                 isSimple   := true,
  909.                 size       := 60
  910.             ),
  911.             rec(
  912.                 generators := [ b^3, a^4 ],
  913.                 isPerfect  := true,
  914.                 isSimple   := true,
  915.                 size       := 60
  916.             ),
  917.             rec(
  918.                 generators := [ a*b*a^2*b^2, a^2*b^2 ],
  919.                 isPerfect  := true,
  920.                 isSimple   := true,
  921.                 size       := 60
  922.             ),
  923.             rec(
  924.                 generators := [ a*b*a^2*b^2, a^2*b*a*(b*a^5)^3*a^5 ],
  925.                 isPerfect  := true,
  926.                 isSimple   := true,
  927.                 size       := 60
  928.             )
  929.         ]
  930.     ),
  931.  
  932.     #########################################################################
  933.     ##
  934.     ## 3840.1
  935.     ##
  936.     rec(
  937.         generators    := [ a, b ],
  938.         isPerfect     := true,
  939.         size          := 3840,
  940.         grouptype     := [ [ 1, 2, 63 ],
  941.                            [ 3, 4, 60, 0 ] ],
  942.         generatortype := [ [ 3, 320, 1, 320, 320, 0 ],
  943.                            [ 4,   3, 2, 120, 960, 0 ] ],
  944.         relations     := [ a^3, b^4, (b*a)^5, (a*b^3)^5/(b^2*a)^3,
  945.                            (b^2*a)^6, Comm(a,(b^2*a)^3), Comm(b,(b^2*a)^3) ],
  946.         antirelations := [ (b^2*a)^3, (a*b*a*b^3*a*b*a^2*b)^2,
  947.                            (a*b*a*b^3*a*b*a^2*b)^2/(b^2*a)^3 ],
  948.         subgroups     := [
  949.             rec(
  950.                 generators := [ b^2*a^2*b*a*b, a*b^2*a^2*b^3*a*b^3*a^2 ],
  951.                 isPerfect  := true,
  952.                 size       := 120
  953.             ),
  954.             rec(
  955.                 generators := [ b^3*a^2*b^3*a*b^2,
  956.                      (a*b)^2*(a^2*b*a^2*b^3)^2*a ],
  957.                 isPerfect  := true,
  958.                 size       := 120
  959.             ),
  960.             rec(
  961.                 generators := [ a^2*b*a^2*b^3*a*b*a*b^3*a*b*a,
  962.                 b*a^2*b^3*a*b*a*b^3*a*b ],
  963.                 isPerfect  := true,
  964.                 size       := 120
  965.             ),
  966.             rec(
  967.                 generators := [ b*a*b*a^2*b^3*(a^2*b)^2,
  968.                     a^2*b^3*a*b*a*b^3*a*b*a ],
  969.                 isPerfect  := true,
  970.                 size       := 120
  971.             )
  972.         ]
  973.     ),
  974.  
  975.     #########################################################################
  976.     ##
  977.     ## 3840.2
  978.     ##
  979.     rec(
  980.         generators    := [ a, b ],
  981.         isPerfect     := true,
  982.         size          := 3840,
  983.         grouptype     := [ [ 1, 2, 303 ] ],
  984.         generatortype := [ [ 3, 320, 1, 320, 320, 0 ],
  985.                            [ 4,   3, 2, 120, 720, 0 ] ],
  986.         relations     := [ a^3, b^4, (b*a)^10, (b*b*a)^6,
  987.                            a*(b*b*a)^3/((b*b*a)^3*a),
  988.                            b*(b*b*a)^3/((b*b*a)^3*b), (b^3*a)^5,
  989.                            ((b*a)^2*b^2*(b*a)^2*a)^2 ],
  990.         antirelations := [ (b*a)^5, (b*b*a)^3, (b*b*a)^3/(b*a)^5 ],
  991.         subgroups     := [
  992.             rec(
  993.                 generators := [ (b*a)^2*b^2*(b*a)^2*a, (a*b*a)^4*b*a ],
  994.                 isPerfect  := true,
  995.                 size       := 60
  996.             ),
  997.             rec(
  998.                 generators := [ (b^2*a^2*b)^2*b^2*a*b*a, (a*b*a)^4*b*a ],
  999.                 isPerfect  := true,
  1000.                 size       := 60
  1001.             ),
  1002.             rec(
  1003.                 generators := [ (a^2*b)^2*b*a*b^3*a*b, a^2 ],
  1004.                 isPerfect  := true,
  1005.                 size       := 60
  1006.             ),
  1007.             rec(
  1008.                 generators := [ (a*b)^2*a*(a*b)^2*b^2, a^2 ],
  1009.                 isPerfect  := true,
  1010.                 size       := 60
  1011.             )
  1012.         ]
  1013.     ),
  1014.  
  1015.     #########################################################################
  1016.     ##
  1017.     ## 3840.3
  1018.     ##
  1019.     rec(
  1020.         generators    := [ a, b ],
  1021.         isPerfect     := true,
  1022.         size          := 3840,
  1023.         grouptype     := [ [ 1, 2, 63 ],
  1024.                            [ 3, 4, 60, 4 ] ],
  1025.         generatortype := [ [ 4, 120, 2, 120, 720, 240 ],
  1026.                            [ 3,   8, 2, 320, 320,   0 ] ],
  1027.         relations     := [ a^4, b^3, (a*b)^5, (a^2*b)^3, (b*a^3)^10,
  1028.                            Comm(a,(b*a^3)^5), Comm(b,(b*a^3)^5) ],
  1029.         antirelations := [ (b*a^3)^5, (a*b*a*b*a^3*b*a*b^2)^2,
  1030.                            (a*b*a*b*a^3*b*a*b^2)^2/(b*a^3)^5 ],
  1031.         subgroups     := [
  1032.             rec(
  1033.                 generators := [ a^3*b^2*a*b^2*a^3*b^2*a*b*a^3*b^2*a^3*b^2,
  1034.                                 a*b^2*a*b*a^3*b*a*b*a ],
  1035.                 isPerfect  := true,
  1036.                 size       := 120
  1037.             ),
  1038.             rec(
  1039.                 generators := [ b*a*b*a*b^2*a^3*b*a*b*a^3*b*a,
  1040.                                 a*b*a*b*a^3*b*a*b*a*b^2*a ],
  1041.                 isPerfect  := true,
  1042.                 size       := 120
  1043.             ),
  1044.             rec(
  1045.                 generators := [ a^3*b*a*b*a^3*b*a*b^2*a^3,
  1046.                                 b*a^3*b*a*b*a^3*b*a*b^2*a^3*b^2 ],
  1047.                 isPerfect  := true,
  1048.                 size       := 120
  1049.             ),
  1050.             rec(
  1051.                 generators := [ a^2*(b*a^3)^3*b^2,
  1052.                                 b*a*b*a^3*b*(b*a^3*b^2*a*b)^2 ],
  1053.                 isPerfect  := true,
  1054.                 size       := 120
  1055.             )
  1056.         ]
  1057.     ),
  1058.  
  1059.     #########################################################################
  1060.     ##
  1061.     ## 3840.4
  1062.     ##
  1063.     rec(
  1064.         generators    := [ a, b ],
  1065.         isPerfect     := true,
  1066.         size          := 3840,
  1067.         grouptype     := [ [ 1, 2, 31 ] ],
  1068.         generatortype := [ [ 3, 320, 1, 320, 320, 0 ],
  1069.                            [ 8,   6, 4, 120, 960, 0 ] ],
  1070.         relations     := [ a^3, b^8, (b*a)^5, (a^2*b^2*a*b)^2*b^2,
  1071.                            b^4*a/(a*b^4) ],
  1072.         antirelations := [ b^4 ],
  1073.         subgroups     := []
  1074.     ),
  1075.  
  1076.     #########################################################################
  1077.     ##
  1078.     ## 3840.5
  1079.     ##
  1080.     rec(
  1081.         generators    := [ a, b ],
  1082.         isPerfect     := true,
  1083.         size          := 3840,
  1084.         grouptype     := [ [ 1, 2, 23 ] ],
  1085.         generatortype := [ [ 8, 240, 2, 240, 480, 0 ],
  1086.                            [ 3,   4, 2,  80,  80, 0 ] ],
  1087.         relations     := [ a^8, b^3, (a*b)^10, a*(a*b)^5/((a*b)^5*a),
  1088.                            b*(a*b)^5/((a*b)^5*b), b*a^4/(a^4*b),
  1089.                            (a^3*b)^5/a^4, ((b*a)^2*a*b)^2/(a*b)^5 ],
  1090.         antirelations := [ (a*b)^5, a^4, (a*b)^5/a^4 ],
  1091.         subgroups     := [
  1092.             rec(
  1093.                 generators := [ (b*a*b)^4*(a*b)^5, b*a^7*b*a*b*a^7*b^2 ],
  1094.                 isPerfect  := true,
  1095.                 size       := 120
  1096.             )
  1097.         ]
  1098.     ),
  1099.  
  1100.     #########################################################################
  1101.     ##
  1102.     ## 3840.6
  1103.     ##
  1104.     rec(
  1105.         generators    := [ a, b ],
  1106.         isPerfect     := true,
  1107.         size          := 3840,
  1108.         grouptype     := [ [ 1, 2, 151 ],
  1109.                            [ 3, 4, 60, 4 ] ],
  1110.         generatortype := [ [ 3, 320, 1, 320, 320, 0 ],
  1111.                            [ 8,   3, 4, 240, 480, 0 ] ],
  1112.         relations     := [ a^3, b^8, b^4/(b*a)^10, Comm(a,(b*a)^10),
  1113.                            (b*b*a)^3, (b^3*a)^5, ((b*a)^2*b^3*a*b*a^2)^2 ],
  1114.         antirelations := [ (b*a)^10 ],
  1115.         subgroups     := [
  1116.             rec(
  1117.                 generators := [ (b*a)^2*b^3*a*b*a^2, b^2*a ],
  1118.         isSimple   := true,
  1119.                 isPerfect  := true,
  1120.                 size       := 60
  1121.             ),
  1122.             rec(
  1123.                 generators := [ (b*a)^2*b^3*a*b*a^2,
  1124.                  b^2*a^2*(b*a)^2*b^2*(b*a)^10 ],
  1125.         isSimple   := true,
  1126.                 isPerfect  := true,
  1127.                 size       := 60
  1128.             ),
  1129.             rec(
  1130.                 generators := [ (b*a)^4*a*b^3, (a*b)^2*b*(b*a)^10 ],
  1131.                 isPerfect  := true,
  1132.                 size       := 120
  1133.             ),
  1134.             rec(
  1135.                 generators := [ (b*a)^17*a*(b*a)^10, b^2*a^2*b*a^2*b^2*a ],
  1136.                 isPerfect  := true,
  1137.                 size       := 120
  1138.             )
  1139.         ]
  1140.     ),
  1141.  
  1142.     #########################################################################
  1143.     ##
  1144.     ## 3840.7
  1145.     ##
  1146.     rec(
  1147.         generators    := [ a, b ],
  1148.         isPerfect     := true,
  1149.         size          := 3840,
  1150.         grouptype     := [ [ 1, 2, 151 ],
  1151.                            [ 3, 4, 60, 0 ] ],
  1152.         generatortype := [ [ 3, 320, 1, 320, 320, 0 ],
  1153.                            [ 8,   3, 4, 240, 480, 0 ] ],
  1154.         relations     := [ a^3, b^8, Comm(a,(b*a)^10), b^4/(b*a)^10,
  1155.                            (b^2*a)^3/(b*a)^10, (b^3*a)^5,
  1156.                            ((b*a)^2*b^3*a*b*a^2)^2/(b*a)^10 ],
  1157.         antirelations := [ (b*a)^10 ],
  1158.         subgroups     := [
  1159.             rec(
  1160.                 generators := [ (b*a)^2*((b*a)^10*b^3*a*a)^2*b,
  1161.                                  b^4*a*((b*a)^10*b^3*a*a)^2 ],
  1162.         isSimple   := true,
  1163.                 isPerfect  := true,
  1164.                 size       := 60
  1165.             ),
  1166.             rec(
  1167.                 generators := [ (b*a)^2*((b*a)^10*b^3*a*a)^2*b,
  1168.                                 a*b*a^2*(b*a)^10*b^3*a*a ],
  1169.         isSimple   := true,
  1170.                 isPerfect  := true,
  1171.                 size       := 60
  1172.             ),
  1173.             rec(
  1174.                 generators := [ a^2*b*a^2*(b*a)^10*b^3*a^2*b*a*b^2,
  1175.                                 a*b*a^2*((b*a)^10*b^3*a*a)^2 ],
  1176.                 isPerfect  := true,
  1177.                 size       := 120
  1178.             ),
  1179.             rec(
  1180.                 generators := [ a^2*b*b*a^2*((b*a)^10*b^3*a*a)^3,
  1181.                                 a^2*b*b*a^2*(b*a)^10*b^3*a^4 ],
  1182.                 isPerfect  := true,
  1183.                 size       := 120
  1184.             )
  1185.         ]
  1186.     ),
  1187.  
  1188.     #########################################################################
  1189.     ##
  1190.     ## PSL( 2, 16 )  4080
  1191.     ##
  1192.     rec(
  1193.         generators    := [ a, b ],
  1194.     isSimple      := true,
  1195.         isPerfect     := true,
  1196.         size          := 4080,
  1197.         grouptype     := [  ],
  1198.         generatortype := [ [ 15, 272, 4, 272, 1088, 0 ],
  1199.                            [  3,  15, 2, 272,  272, 0 ] ],
  1200.         relations     := [ a^15, b^3, (a^7*b)^2, (a^11*(a*b)^2)^2,
  1201.                  (a^7*(a*b)^9)^2 ],
  1202.         antirelations := [  ],
  1203.         subgroups     := [
  1204.             rec(
  1205.                 generators := [ a^5*b*a^2*(a*b)^16*b, (a^4*b*a^2*b)^2 ],
  1206.             isSimple   := true,
  1207.                 isPerfect  := true,
  1208.                 size       := 60
  1209.             )
  1210.         ]
  1211.     ),
  1212.  
  1213.     #########################################################################
  1214.     ##
  1215.     ## 3^4 se A_5  4860
  1216.     ##
  1217.     rec(
  1218.         generators    := [ a, b ],
  1219.         isPerfect     := true,
  1220.         size          := 4860,
  1221.         grouptype     := [ [ 1, 3, 620 ] ],
  1222.         generatortype := [ [ 6, 270, 2, 270, 810, 270 ],
  1223.                            [ 3,  18, 2, 180, 540,  80 ] ],
  1224.         relations     := [ a^6, b^3, (a*b)^5, (a*b^2)^5, b*a^2*b*b*a^2/
  1225.                    ((a^2*b)^2*b), a^2*b*a*a^4*b*a*b^2*a^4*b*a/
  1226.                (b*a*b) ],
  1227.         antirelations := [ a^2 ],
  1228.         subgroups     := [
  1229.             rec(
  1230.                 generators := [ a^3, b^2 ],
  1231.             isSimple   := true,
  1232.                 isPerfect  := true,
  1233.                 size       := 60
  1234.             ),
  1235.             rec(
  1236.                 generators := [ a^3, (b*a)^3*a^2*b ],
  1237.             isSimple   := true,
  1238.                 isPerfect  := true,
  1239.                 size       := 60
  1240.             )
  1241.         ]
  1242.     ),
  1243.  
  1244.     #########################################################################
  1245.     ##
  1246.     ## 3^4 nse A_5  4860
  1247.     ##
  1248.     rec(
  1249.         generators    := [ a, b ],
  1250.         isPerfect     := true,
  1251.         size          := 4860,
  1252.         grouptype     := [ [ 1, 3, 80 ] ],
  1253.         generatortype := [ [ 9, 180, 6, 180, 1620, 0 ],
  1254.                            [ 2,  27, 1, 135,  135, 0 ] ],
  1255.         relations     := [ a^9, b^2, (a*b)^5, (a*a*b)^5, (a^2*a*b)^2/
  1256.                      (b*a^3)^2, (a^4*b*(a*b)^2*a*a*b)^2/a^6 ],
  1257.         antirelations := [ a^3 ],
  1258.         subgroups     := [  ]
  1259.     ),
  1260.  
  1261.     #########################################################################
  1262.     ##
  1263.     ## SL( 2, 17 )  4896
  1264.     ##
  1265.     rec(
  1266.         generators    := [ a, b ],
  1267.         isPerfect     := true,
  1268.         size          := 4896,
  1269.         grouptype     := [  ],
  1270.         generatortype := [ [ 9, 272, 3, 272, 816, 0 ],
  1271.                            [ 4,   9, 2, 306, 306, 0 ] ],
  1272.         relations     := [ a^9, b^4, (a^2*b)^3, Comm(a,b^2), (a*b)^4/b^2 ],
  1273.         antirelations := [ b^2 ],
  1274.         subgroups     := [  ]
  1275.     ),
  1276.  
  1277.     #########################################################################
  1278.     ##
  1279.     ## PSL( 3, 3 )  5616
  1280.     ##
  1281.     rec(
  1282.         generators    := [ a, b ],
  1283.     isSimple      := true,
  1284.         isPerfect     := true,
  1285.         size          := 5616,
  1286.         grouptype     := [  ],
  1287.         generatortype := [ [ 6, 936, 1, 936, 936,   0 ],
  1288.                            [ 3,   6, 2, 624, 624, 104 ] ],
  1289.         relations     := [ a^6, b^3, (a*b)^4, (a^2*b)^4, (a^3*b)^3,
  1290.                Comm((b*a^2*b)^2,a^2) ],
  1291.         antirelations := [  ],
  1292.         subgroups     := [  ]
  1293.     ),
  1294.  
  1295.     #########################################################################
  1296.     ##
  1297.     ## M_11  7920
  1298.     ##
  1299.     rec(
  1300.         generators    := [ a, b ],
  1301.         isPerfect     := true,
  1302.         isSimple      := true,
  1303.         size          := 7920,
  1304.         grouptype     := [],
  1305.         generatortype := [ [ 11, 720, 2, 720, 1440, 0 ],
  1306.                            [  4,  11, 2, 990,  990, 0 ] ],
  1307.         relations     := [ a^11, b^4, (a*b)^3,
  1308.                            (b^2*a^5*b^2*a^4*b^2*a^5)^5,
  1309.                            (a*(b^2*a^5*b^2*a^4*b^2*a^5))
  1310.                             /((b^2*a^5*b^2*a^4*b^2*a^5)*a^4),
  1311.                            ((b^2*a^5*b^2*a^4*b^2*a^5)*b)
  1312.                             /(b*(b^2*a^5*b^2*a^4*b^2*a^5)^2) ],
  1313.         antirelations := [],
  1314.         subgroups     := [
  1315.             rec(
  1316.                 generators := [ b^2, a^5*b^2*a^3 ],
  1317.                 isPerfect  := true,
  1318.                 isSimple   := true,
  1319.                 size       := 60
  1320.             ),
  1321.             rec(
  1322.                 generators := [ b^2, a^2*(b^2*a^5*b^2*a^4*b^2*a^5)*b^2*a*
  1323.                 (b^2*a^5*b^2*a^4*b^2*a^5)*a^2 ],
  1324.                 isPerfect  := true,
  1325.                 isSimple   := true,
  1326.                 size       := 60
  1327.             ),
  1328.             rec(
  1329.                 generators := [ (b^2*a^5*b^2*a^4*b^2*a^5)^2,
  1330.                                 b*a^2*(b^2*a^5*b^2*a^4*b^2*a^5)^2*b*a*
  1331.                 (b^2*a^5*b^2*a^4*b^2*a^5)*a ],
  1332.                 isPerfect  := true,
  1333.                 isSimple   := true,
  1334.                 size       := 360
  1335.             ),
  1336.             rec(
  1337.                 generators := [ a, b^2 ],
  1338.                 isPerfect  := true,
  1339.                 isSimple   := true,
  1340.                 size       := 660
  1341.             )
  1342.         ]
  1343.     ),
  1344.  
  1345.     #########################################################################
  1346.     ##
  1347.     ## A_8
  1348.     ##
  1349.     rec(
  1350.         generators    := [ a, b ],
  1351.         isPerfect     := true,
  1352.         isSimple      := true,
  1353.         size          := 20160,
  1354.         grouptype     := [],
  1355.         generatortype := [ [ 6, 3360, 1, 3360, 3360, 1680 ],
  1356.                            [ 3,    6, 2,  112,  112,    0 ] ],
  1357.         relations     := [ a^6, b^3, (a*b)^7, (b^2*(a^5)*b*a)^2,
  1358.                            (b*(a^5)^2*b*a^2)^2, (b^2*(a^3)*b*(a^3))^2 ],
  1359.         antirelations := [],
  1360.         subgroups     := [
  1361.             rec(
  1362.                 generators := [ b*a^2*b*(a^3)*b*a,
  1363.                 (a^3)*a^2*b*(a^3)*b*(a^3)*b^2*a*b ],
  1364.                 isPerfect  := true,
  1365.                 isSimple   := true,
  1366.                 size       := 60
  1367.             ),
  1368.             rec(
  1369.                 generators := [ (b^2*a^2*b*a)^2*b,
  1370.                  a*b*a^2*b^2*a^2*b*a^2*b*a*b^2 ],
  1371.                 isPerfect  := true,
  1372.                 isSimple   := true,
  1373.                 size       := 60
  1374.             ),
  1375.             rec(
  1376.                 generators := [ b*(a^3)*b*(a^3)*b*a*b*a*b*a^2,
  1377.                 b*(a^3)*a^2*b*a*b*(a^3)*b^2*a*b ],
  1378.                 isPerfect  := true,    
  1379.                 isSimple   := true,
  1380.                 size       := 168
  1381.             ),
  1382.             rec(
  1383.                 generators := [ (a^3)*a^2*b*a*b*(a^3)*b*a*b*a*b,
  1384.                  a*b*a^2*b^2*a*b*a*b*a^2*b ],
  1385.                 isPerfect  := true,
  1386.                 isSimple   := true,
  1387.                 size       := 168
  1388.             ),
  1389.             rec(
  1390.                 generators := [ b^2*(a^3)*b*a*b*a*b*a^2,
  1391.                 a^2*b*a*b*(a^3)*b*a^2*b*a ],
  1392.                 isPerfect  := true,
  1393.                 isSimple   := true,
  1394.                 size       := 168
  1395.             ),
  1396.             rec(
  1397.                 generators := [ a*b*a*b^2*a*b*a^2*b*a^2*b^2*a*b,
  1398.                 (a^2*b)^3*(a^3)*b*(a^3) ],
  1399.                 isPerfect  := true,
  1400.                 isSimple   := true,
  1401.                 size       := 360
  1402.             ),
  1403.             rec(
  1404.                 generators := [ b*a*b^2*a*b*a*b*a^2*b,
  1405.                 b*(a^3)*a^2*b*a*b*a*b^2*a^2 ],
  1406.                 isPerfect  := true,
  1407.                 size       := 1344
  1408.             ),
  1409.             rec(
  1410.                 generators := [ b*(a^3)*a*b*a*b*(a^3)*b*a^2,
  1411.                 (a*b)^3*a^2*b^2*a*b*(a^3)*a*b,
  1412.                                 b*a*b*a*b^2*a*b*a^2*b^2 ],
  1413.                 isPerfect  := true,
  1414.                 size       := 1344
  1415.             ),
  1416.             rec(
  1417.                 generators := [ a*b*a*b*(a^3)*a^2*b, b ],
  1418.                 isPerfect  := true,
  1419.                 isSimple   := true,
  1420.                 size       := 2520
  1421.             )
  1422.         ]
  1423.     )
  1424. ];
  1425.  
  1426.  
  1427. #############################################################################
  1428. ##
  1429. ## ReBind the old values of a and b
  1430. ##
  1431.  
  1432. if IsBound( PerfCat_a ) then  a := PerfCat_a;  else  Unbind( a );  fi;
  1433. if IsBound( PerfCat_b ) then  b := PerfCat_b;  else  Unbind( b );  fi;
  1434.  
  1435.  
  1436. #############################################################################
  1437. ##
  1438. #E  Emacs . . . . . . . . . . . . . . . . . . . . . . . local emacs variables
  1439. ##
  1440. ##  Local Variables:
  1441. ##  mode:               outline
  1442. ##  outline-regexp:     "#F\\|#V\\|#E"
  1443. ##  fill-column:        73
  1444. ##  fill-prefix:        "##  "
  1445. ##  eval:               (hide-body)
  1446. ##  End:
  1447. ##
  1448.