<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>GAP (Circle) - Chapter 4: A sample computation with Circle</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta name="generator" content="GAPDoc2HTML" /> <link rel="stylesheet" type="text/css" href="manual.css" /> </head> <body> <div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <div class="chlinkprevnexttop"> <a href="chap0.html">Top of Book</a> <a href="chap3.html">Previous Chapter</a> <a href="chapBib.html">Next Chapter</a> </div> <p><a id="X803553D8849F6D7A" name="X803553D8849F6D7A"></a></p> <div class="ChapSects"><a href="chap4.html#X803553D8849F6D7A">4 <span class="Heading">A sample computation with <strong class="pkg">Circle</strong></span></a> </div> <h3>4 <span class="Heading">A sample computation with <strong class="pkg">Circle</strong></span></h3> <p>Here we give an example to give the reader an idea what <strong class="pkg">Circle</strong> is able to compute.</p> <p>It was proved in <a href="chapBib.html#biBKazarin-Soules-2004">[KS04]</a> 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 <strong class="pkg">Circle</strong>. First we create two matrices that determine its generators:</p> <table class="example"> <tr><td><pre> 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 ] ];; </pre></td></tr></table> <p>Now we construct this algebra in characteristic five and check its basic properties:</p> <table class="example"> <tr><td><pre> 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 </pre></td></tr></table> <p>Then we compute the adjoint group of <code class="code">R</code>. During the computation a warning will be displayed. It is caused by the method for <code class="code">IsGeneratorsOfMagmaWithInverses</code> defined in the file <code class="file">gap4r4/lib/grp.gi</code> from the <strong class="pkg">GAP</strong> library, and may be safely ignored.</p> <table class="example"> <tr><td><pre> 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> </pre></td></tr></table> <p>Now we can find the generating set of minimal possible order for the group <code class="code">G</code>, and check that <code class="code">G</code> it is 3-generated. To do this, first we need to convert it to the isomorphic PcGroup:</p> <table class="example"> <tr><td><pre> 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 . . . . . . . . . . . . . . </pre></td></tr></table> <p>It appears that the adjoint group of the algebra from example will be 3-generated in characteristic three as well:</p> <table class="example"> <tr><td><pre> 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 ] </pre></td></tr></table> <p>But this is not the case in characteristic two, where the adjoint group is 4-generated:</p> <table class="example"> <tr><td><pre> 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 ] </pre></td></tr></table> <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a> <a href="chap3.html">Previous Chapter</a> <a href="chapBib.html">Next Chapter</a> </div> <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> <p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html>