  
  [1m[4m[31m3. A sample computation with [1mCircle[1m[4m[31m[0m
  
  Here  we  give  an example to give the reader an idea what [1mCircle[0m 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 [1mCircle[0m. First we create two matrices that determine its
  generators:
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m                                                                                          [0m
    [22m[35mgap> x:=[ [ 0, 1, 0, 0, 0, 0, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 1, 0, 0, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 1, 0, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 0, 0, 1 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 0, 1, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 0, 0, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 0, 0, 0 ] ];;[0m
    [22m[35mgap> y:=[ [ 0, 0, 1, 0, 0, 0, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 0,-1, 0, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 1, 0, 1, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 0, 1, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 0, 0,-1 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 0, 0, 0 ],[0m
    [22m[35m>         [ 0, 0, 0, 0, 0, 0, 0 ] ];;[0m
    [22m[35m                                                                                                [0m
  [22m[35m------------------------------------------------------------------[0m
  
  Now  we  construct  this  algebra in characteristic five and check its basic
  properties:
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m                                                                                          [0m
    [22m[35mgap> R := Algebra( GF(5), One(GF(5))*[x,y] );[0m
    [22m[35m<algebra over GF(5), with 2 generators>[0m
    [22m[35mgap> Dimension( R );[0m
    [22m[35m6[0m
    [22m[35mgap> Size( R );[0m
    [22m[35m15625[0m
    [22m[35mgap> RadicalOfAlgebra( R ) = R;[0m
    [22m[35mtrue[0m
    [22m[35m                                                                                                [0m
  [22m[35m------------------------------------------------------------------[0m
  
  Then  we  compute  the  adjoint group of [22m[32mR[0m. During the computation a warning
  will    be    displayed.    It    is    caused    by    the    method    for
  [22m[32mIsGeneratorsOfMagmaWithInverses[0m  defined  in the file [1mgap4r4/lib/grp.gi[0m from
  the [1mGAP[0m library, and may be safely ignored.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m [0m
    [22m[35mgap> G := AdjointGroup( R );[0m
    [22m[35m#I  default `IsGeneratorsOfMagmaWithInverses' method returns `true' for [0m
    [22m[35m[ CircleObject( [ [ 0*Z(5), Z(5), Z(5), Z(5)^3, Z(5), 0*Z(5), Z(5)^2 ],[0m
    [22m[35m      [ 0*Z(5), 0*Z(5), 0*Z(5), Z(5), Z(5)^3, Z(5)^3, Z(5)^3 ],[0m
    [22m[35m      [ 0*Z(5), 0*Z(5), 0*Z(5), Z(5), Z(5), 0*Z(5), Z(5) ],[0m
    [22m[35m      [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), Z(5), Z(5) ],[0m
    [22m[35m      [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), Z(5), Z(5)^3 ],[0m
    [22m[35m      [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5) ],[0m
    [22m[35m      [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5) ] ] ) ][0m
    [22m[35m<group of size 15625 with 3 generators>[0m
    [22m[35m                                                                                                [0m
  [22m[35m------------------------------------------------------------------[0m
  
  Now  we  can  find  the  minimal  generating set of [22m[32mG[0m and check that [22m[32mG[0m it is
  3-generated.  To  do  this,  first  we  need to convert it to the isomorphic
  PcGroup:
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m [0m
    [22m[35mgap> f := IsomorphismPcGroup( G );;[0m
    [22m[35mgap> H := Image( f );[0m
    [22m[35mGroup([ f1, f2, f3, f4, f5, f6 ])[0m
    [22m[35mgap> gens := MinimalGeneratingSet( H );[0m
    [22m[35m[ f1, f2, f5 ][0m
    [22m[35mgap> gens:=List( gens, x -> UnderlyingRingElement(PreImage(f,x)));;[0m
    [22m[35mgap> Perform(gens,Display);                                        [0m
    [22m[35m . 3 3 4 4 . 1[0m
    [22m[35m . . . 3 2 1 4[0m
    [22m[35m . . . 3 3 2 4[0m
    [22m[35m . . . . . 3 3[0m
    [22m[35m . . . . . 3 2[0m
    [22m[35m . . . . . . .[0m
    [22m[35m . . . . . . .[0m
    [22m[35m . 3 1 1 . . .[0m
    [22m[35m . . . 3 4 . 1[0m
    [22m[35m . . . 1 3 2 .[0m
    [22m[35m . . . . . 1 3[0m
    [22m[35m . . . . . 3 4[0m
    [22m[35m . . . . . . .[0m
    [22m[35m . . . . . . .[0m
    [22m[35m . 2 2 3 2 . 4[0m
    [22m[35m . . . 2 3 3 3[0m
    [22m[35m . . . 2 2 . 2[0m
    [22m[35m . . . . . 2 2[0m
    [22m[35m . . . . . 2 3[0m
    [22m[35m . . . . . . .[0m
    [22m[35m . . . . . . .[0m
    [22m[35m                                                                                                [0m
  [22m[35m------------------------------------------------------------------[0m
  
  It  appears  that  the  adjoint  group  of  the algebra from example will be
  3-generated in characteristic three as well:
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m[0m
    [22m[35mgap> R := Algebra( GF(3), One(GF(3))*[x,y] );[0m
    [22m[35m<algebra over GF(3), with 2 generators>[0m
    [22m[35mgap> G := AdjointGroup( R );[0m
    [22m[35m#I  default `IsGeneratorsOfMagmaWithInverses' method returns `true' for [0m
    [22m[35m[ CircleObject( [ [ 0*Z(3), 0*Z(3), Z(3)^0, Z(3)^0, Z(3), Z(3), 0*Z(3) ],[0m
    [22m[35m      [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3)^0, Z(3)^0 ],[0m
    [22m[35m      [ 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, 0*Z(3), Z(3), Z(3) ],[0m
    [22m[35m      [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, 0*Z(3) ],[0m
    [22m[35m      [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3) ],[0m
    [22m[35m      [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],[0m
    [22m[35m      [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ] ] ) ][0m
    [22m[35m<group of size 729 with 3 generators>[0m
    [22m[35mgap> H := Image( IsomorphismPcGroup( G ) );[0m
    [22m[35mGroup([ f1, f2, f3, f4, f5, f6 ])[0m
    [22m[35mgap> MinimalGeneratingSet( H );[0m
    [22m[35m[ f1, f2, f4 ][0m
    [22m[35m                                                                                                [0m
  [22m[35m------------------------------------------------------------------[0m
  
  But  this  is not the case in characteristic two, where the adjoint group is
  4-generated:
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m[0m
    [22m[35mgap> R := Algebra( GF(2), One(GF(2))*[x,y] );[0m
    [22m[35m<algebra over GF(2), with 2 generators>[0m
    [22m[35mgap> G := AdjointGroup( R );                   [0m
    [22m[35m#I  default `IsGeneratorsOfMagmaWithInverses' method returns `true' for [0m
    [22m[35m[ CircleObject( [ [ 0*Z(2), Z(2)^0, Z(2)^0, 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ],[0m
    [22m[35m      [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0, Z(2)^0, 0*Z(2) ],[0m
    [22m[35m      [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0, Z(2)^0, Z(2)^0 ],[0m
    [22m[35m      [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0 ],[0m
    [22m[35m      [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0 ],[0m
    [22m[35m      [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ],[0m
    [22m[35m      [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ] ] ) ][0m
    [22m[35m<group of size 64 with 4 generators>[0m
    [22m[35mgap> H := Image( IsomorphismPcGroup( G ) );[0m
    [22m[35mGroup([ f1, f2, f3, f4, f5, f6 ])[0m
    [22m[35mgap> MinimalGeneratingSet( H );[0m
    [22m[35m[ f1, f2, f4, f5 ][0m
    [22m[35m                                                                                                [0m
  [22m[35m------------------------------------------------------------------[0m
  
