Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 91213ddcfbe7f54821d42c2d9e091326 > files > 672

gap-system-packages-4.4.12-5mdv2010.0.i586.rpm

  
  4 A sample computation with Circle
  
  Here  we  give  an example to give the reader an idea what Circle is able to
  compute.
  
  It  was  proved  in  [KS04]  that  if  R is a finite nilpotent two-generated
  algebra  over  a field of characteristic p>3 whose adjoint group has at most
  three  generators,  then  the dimension of R is not greater than 9. Also, an
  example of the 6-dimensional such algebra with the 3-generated adjoint group
  was  given  there.  We  will  construct  the  algebra  from this example and
  investigate it using Circle. First we create two matrices that determine its
  generators:
  
  ---------------------------  Example  ----------------------------
                                                                                              
    gap> x:=[ [ 0, 1, 0, 0, 0, 0, 0 ],
    >         [ 0, 0, 0, 1, 0, 0, 0 ],
    >         [ 0, 0, 0, 0, 1, 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, 0, 0, 0, 0 ] ];;
    gap> y:=[ [ 0, 0, 1, 0, 0, 0, 0 ],
    >         [ 0, 0, 0, 0,-1, 0, 0 ],
    >         [ 0, 0, 0, 1, 0, 1, 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, 0, 0 ] ];;
                                                                                                    
  ------------------------------------------------------------------
  
  Now  we  construct  this  algebra in characteristic five and check its basic
  properties:
  
  ---------------------------  Example  ----------------------------
                                                                                              
    gap> R := Algebra( GF(5), One(GF(5))*[x,y] );
    <algebra over GF(5), with 2 generators>
    gap> Dimension( R );
    6
    gap> Size( R );
    15625
    gap> RadicalOfAlgebra( R ) = R;
    true
                                                                                                    
  ------------------------------------------------------------------
  
  Then  we  compute  the  adjoint group of R. During the computation a warning
  will    be    displayed.    It    is    caused    by    the    method    for
  IsGeneratorsOfMagmaWithInverses  defined  in the file gap4r4/lib/grp.gi from
  the GAP library, and may be safely ignored.
  
  ---------------------------  Example  ----------------------------
     
    gap> G := AdjointGroup( R );
    #I  default `IsGeneratorsOfMagmaWithInverses' method returns `true' for 
    [ CircleObject( [ [ 0*Z(5), Z(5), Z(5), Z(5)^3, Z(5), 0*Z(5), Z(5)^2 ],
          [ 0*Z(5), 0*Z(5), 0*Z(5), Z(5), Z(5)^3, Z(5)^3, Z(5)^3 ],
          [ 0*Z(5), 0*Z(5), 0*Z(5), Z(5), Z(5), 0*Z(5), Z(5) ],
          [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), Z(5), Z(5) ],
          [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), Z(5), Z(5)^3 ],
          [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5) ],
          [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5) ] ] ) ]
    <group of size 15625 with 3 generators>
                                                                                                    
  ------------------------------------------------------------------
  
  Now  we  can find the generating set of minimal possible order for the group
  G,  and check that G it is 3-generated. To do this, first we need to convert
  it to the isomorphic PcGroup:
  
  ---------------------------  Example  ----------------------------
     
    gap> f := IsomorphismPcGroup( G );;
    gap> H := Image( f );
    Group([ f1, f2, f3, f4, f5, f6 ])
    gap> gens := MinimalGeneratingSet( H );
    [ f1, f2, f5 ]
    gap> gens:=List( gens, x -> UnderlyingRingElement(PreImage(f,x)));;
    gap> Perform(gens,Display);                                        
     . 3 3 4 4 . 1
     . . . 3 2 1 4
     . . . 3 3 2 4
     . . . . . 3 3
     . . . . . 3 2
     . . . . . . .
     . . . . . . .
     . 3 1 1 . . .
     . . . 3 4 . 1
     . . . 1 3 2 .
     . . . . . 1 3
     . . . . . 3 4
     . . . . . . .
     . . . . . . .
     . 2 2 3 2 . 4
     . . . 2 3 3 3
     . . . 2 2 . 2
     . . . . . 2 2
     . . . . . 2 3
     . . . . . . .
     . . . . . . .
                                                                                                    
  ------------------------------------------------------------------
  
  It  appears  that  the  adjoint  group  of  the algebra from example will be
  3-generated in characteristic three as well:
  
  ---------------------------  Example  ----------------------------
    
    gap> R := Algebra( GF(3), One(GF(3))*[x,y] );
    <algebra over GF(3), with 2 generators>
    gap> G := AdjointGroup( R );
    #I  default `IsGeneratorsOfMagmaWithInverses' method returns `true' for 
    [ CircleObject( [ [ 0*Z(3), 0*Z(3), Z(3)^0, Z(3)^0, Z(3), Z(3), 0*Z(3) ],
          [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3)^0, Z(3)^0 ],
          [ 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, 0*Z(3), Z(3), Z(3) ],
          [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, 0*Z(3) ],
          [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3) ],
          [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
          [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ] ] ) ]
    <group of size 729 with 3 generators>
    gap> H := Image( IsomorphismPcGroup( G ) );
    Group([ f1, f2, f3, f4, f5, f6 ])
    gap> MinimalGeneratingSet( H );
    [ f1, f2, f4 ]
                                                                                                    
  ------------------------------------------------------------------
  
  But  this  is not the case in characteristic two, where the adjoint group is
  4-generated:
  
  ---------------------------  Example  ----------------------------
    
    gap> R := Algebra( GF(2), One(GF(2))*[x,y] );
    <algebra over GF(2), with 2 generators>
    gap> G := AdjointGroup( R );                   
    #I  default `IsGeneratorsOfMagmaWithInverses' method returns `true' for 
    [ CircleObject( [ [ 0*Z(2), Z(2)^0, Z(2)^0, 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ],
          [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0, Z(2)^0, 0*Z(2) ],
          [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0, Z(2)^0, Z(2)^0 ],
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0 ],
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0 ],
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ],
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ] ] ) ]
    <group of size 64 with 4 generators>
    gap> H := Image( IsomorphismPcGroup( G ) );
    Group([ f1, f2, f3, f4, f5, f6 ])
    gap> MinimalGeneratingSet( H );
    [ f1, f2, f4, f5 ]
                                                                                                    
  ------------------------------------------------------------------