What is group homology? What is gap? A couple of algorithms
Groups Algorithms Programming /Computational Homological Group Theory
Santiago de Compostela Summer School, July 2007
Graham Ellis & Marc Roderhttp://www.maths.nuigalway.ie
What is group homology? What is gap? A couple of algorithms
Lecture 1:
What is group homology?What is gap?A couple of basic algorithms
Lecture 2:
Integral cohomology of finite/infinite isometry groups andArtin groupsPolytopes, polymake and gap
Lecture 3:
Mod p cohomology of finite groupsLinear algebra computations with gap
Lecture 4:
Integral cohomology of finite groupsProgramming spectral sequences in gap
What is group homology? What is gap? A couple of algorithms
Tutorial 1:
Permutation groupsFinitely presented groupsLists and basic programming
Tutorial 2:
gap attributes and propertiesMore on permutation groups and finitely presented groupsFinite fields and matrix algebra
Tutorial 3:
Coset enumerationRecords in gap
Group homology and poincare series
Tutorial 4:
Cohomology of group extensionsCohomology of crystallographic groupsLie algebra homology
What is group homology? What is gap? A couple of algorithms
Heinz Hopf, “Fundamentalgruppe und zweiteBettische Gruppe”, Commentarii Mathematicii Helvetici, 1941:
Theorem
Let B be a path-connected space with π2(B) = 0. Then
H1(B , Z) = π1(B)ab, H2(B , Z) = R∩[F ,F ][R,F ] where F is any free
group with normal subgroup R and isomorphism F/R ∼= π1(B).
What is group homology? What is gap? A couple of algorithms
Definition (topological version)
The homology of a group G is defined to be the homology of theorbit space B = X/G where X is any contractible space on whichG acts freely.
What is group homology? What is gap? A couple of algorithms
Example
G = 〈P ,Q | PQ = QP〉 acts on X = R2
P · (x , y) = (x + 1, y)Q · (x , y) = (x , y + 1)
X
PQ
B = X/G
What is group homology? What is gap? A couple of algorithms
Example
G = 〈P ,Q | PQ = QP〉 acts on X = R2
P · (x , y) = (x + 1, y)Q · (x , y) = (x , y + 1)
X
PQ
B = X/G
Hn(G , Z) = Hn(B, Z) =
0, n = 0Z ⊕ Z, n = 1Z, n = 20, n ≥ 3
What is group homology? What is gap? A couple of algorithms
The cellular chain complex
C∗(X ) : · · · → C3(X )d3→ C2(X )
d2→ C1(X )d1→ C0(X )
is a free ZG-resolution:
(Freeness) each Cn(X ) is a free ZG -module
(Exactness) Image(dn+1) = Kernel(dn) for n ≥ 1
(Augmentation) Cokernel(d1) is the trivial ZG -module Z
Definition (algebraic version)
For any free ZG -resolution C∗ and any ZG -module A, set
Hn(G ,A) =ker(Cn ⊗ZA A −→ Cn−1 ⊗ZA A)
image(Cn+1 ⊗ZA A −→ Cn ⊗ZA A)
What is group homology? What is gap? A couple of algorithms
GAP is a free, open and extensible software package forcomputation in discrete abstract algebra
What is group homology? What is gap? A couple of algorithms
GAP stands for Groups Algorithms Programming
What is group homology? What is gap? A couple of algorithms
Development began in 1985 under leadership of Joachim Neubuserat Aachen. Version 2.4 released in 1988.
Version 4.1 released in 1999 from St Andrews.
Current version is 4.4 .
What is group homology? What is gap? A couple of algorithms
GAP contains
a kernel written in C:
rational arithmetic, finite fields, linear algebra, permutationsand words, lists, records, . . .interpreter for the GAP programming language.a few functions for handling external files and executingexternal programs.a few functions for testing, debugging and timing algorithms.
What is group homology? What is gap? A couple of algorithms
GAP contains
a large library of algorithms implemented in the GAPprogramming language.
What is group homology? What is gap? A couple of algorithms
GAP contains
data libraries:
all groups of order at most 2000 except order 1024Brauer character tablestables of marks.
What is group homology? What is gap? A couple of algorithms
GAP contains
many independent GAP packages of algorithms
What is group homology? What is gap? A couple of algorithms
GAP contains
documentation; discussion forum; user support team
What is group homology? What is gap? A couple of algorithms
GAP contains
a kernel written in C:
rational arithmetic, finite fields, linear algebra, permutationsand words, lists, records, . . .interpreter for the GAP programming language.a few functions for handling external files and executingexternal programs.a few functions for testing, debugging and timing algorithms.
a large library of algorithms implemented in the GAPprogramming language.
data libraries:
all groups of order at most 2000 except order 1024Brauer character tablestables of marks.
many independent GAP packages of algorithms
documentation; discussion forum; user support team
What is group homology? What is gap? A couple of algorithms
Who uses GAP?
Students taking an undergraduate/postgraduate algebracourse
Researchers
Others?
What is group homology? What is gap? A couple of algorithms
What is group homology? What is gap? A couple of algorithms
gap> Order( Group( [ (1,2), (1,2,3,4,5,6,7,8,9,10) ] )
3628800
gap>
What is group homology? What is gap? A couple of algorithms
gap> Order( Group( [ (1,2), (1,2,3,4,5,6,7,8,9,10) ] )
3628800
gap>
gap> TimeToString(time);
‘‘0.002 sec.’’
gap>
What is group homology? What is gap? A couple of algorithms
gap> Order( Group( [ (1,2), (1,2,3,4,5,6,7,8,9,10) ] )
3628800
gap>
gap> Factorial(10);
3628800
gap>
What is group homology? What is gap? A couple of algorithms
gap> for G in AllSmallGroups(32) do
> if DerivedSubgroup(G) = Center(G) then
> Print(StructureDescription(G),‘‘\n’’);
> fi;
> od;
What is group homology? What is gap? A couple of algorithms
gap> for G in AllSmallGroups(32) do
> if DerivedSubgroup(G) = Center(G) then
> Print(StructureDescription(G),‘‘\n’’);
> fi;
> od;
(C2 x C2 x C2 x C2) : C2
(C4 x C2 x C2) : C2
(C2 x Q8) : C2
(C4 x C2 x C2) : C2
(C4 x C4) : C2
(C2 x C2) . (C2 x C2 x C2)
(C4 x C4) : C2
(C4 x C4) : C2
C4 : Q8
(C2 x D8) : C2
(C2 x Q8) : C2
gap>
What is group homology? What is gap? A couple of algorithms
gap> LoadPackage(‘‘HAP’’);
What is group homology? What is gap? A couple of algorithms
gap> LoadPackage(‘‘HAP’’);
gap> S:=SylowSubgroup(SL(2,Integers mod 5^3),5)
gap> K5:=MaximalSubgroups(S)[2];
gap> GroupHomology(K5,3);
[ 5, 5, 5, 5, 5, 5, 125 ]
What is group homology? What is gap? A couple of algorithms
gap> LoadPackage(‘‘HAP’’);
gap> S:=SylowSubgroup(SL(2,Integers mod 5^3),5)
gap> K5:=MaximalSubgroups(S)[2];
gap> GroupHomology(K5,3);
[ 5, 5, 5, 5, 5, 5, 125 ]
K5 = ker(SL2(Z53) → SL2(Z5)) has order 56 = 15, 625 .
W. Browder & J. Pakianathan [ Trans. American Math. Soc.,1999] first showed H3(Kp, Z) has exponent p3 for odd p .
Pakianathan: Hn(Kp, Z) has exponent ≤ p2 for all but finitelymany n and so Kp is a counter-example to a conjecture ofA. Adem.
What is group homology? What is gap? A couple of algorithms
gap> G:=Group( [ (1,2,3,4,5,6,7,8,9,10,11,12,13,
> 14,15,16,17,18,19,20,21,22,23),
> (3,17,10,7,9)(4,13,14,19,5)
> (8,18,11,12,23)(15,20,22,21,16) ]);;
gap> GroupHomology(G,1);
[ ]
gap> GroupHomology(G,2);
[ ]
gap> GroupHomology(G,3);
[ ]
What is group homology? What is gap? A couple of algorithms
gap> G:=Group( [ (1,2,3,4,5,6,7,8,9,10,11,12,13,
> 14,15,16,17,18,19,20,21,22,23),
> (3,17,10,7,9)(4,13,14,19,5)
> (8,18,11,12,23)(15,20,22,21,16) ]);;
gap> GroupHomology(G,1);
[ ]
gap> GroupHomology(G,2);
[ ]
gap> GroupHomology(G,3);
[ ]
J. Milgram [J. Group Theory, 2000] first showed thatHn(M23, Z) = 0 for 1 ≤ n ≤ 3, thus disproving a conjecture madeby J.-L. Loday in the 1970s.
What is group homology? What is gap? A couple of algorithms
gap> G:=MathieuGroup(11);;
gap> Order(G);
7920
gap> PoincareSeriesPrimePart(G,2,15);
(x^4-x^3+x^2-x+1)/(x^6-x^5+x^4-2*x^3+x^2-x+1)
What is group homology? What is gap? A couple of algorithms
gap> G:=MathieuGroup(11);;
gap> Order(G);
7920
gap> PoincareSeriesPrimePart(G,2,15);
(x^4-x^3+x^2-x+1)/(x^6-x^5+x^4-2*x^3+x^2-x+1)
The Poincare series for H∗(M11, Z2) was first calculated (and
proved) in [P.Webb, “A local method in group cohomology”,Comm. Math. Helv. 62 (1987) 135-167].
What is group homology? What is gap? A couple of algorithms
Algorithm 1
Given a generating set Y for a permutation group G , we obtain afinite presentation for G by using the Cayley graph Γ = Γ(G ,Y ):
one vertex for each g ∈ G ,
one edge [g , gy ] for each g ∈ G , y ∈ Y .
What is group homology? What is gap? A couple of algorithms
Algorithm 1
Given a generating set Y for a permutation group G , we obtain afinite presentation for G by using the Cayley graph Γ = Γ(G ,Y ):
one vertex for each g ∈ G ,
one edge [g , gy ] for each g ∈ G , y ∈ Y .
Any basis for H1(Γ, Z) corresponds to a set of relations R suchthat G = 〈Y : R〉 .
What is group homology? What is gap? A couple of algorithms
Algorithm 1
Given a generating set Y for a permutation group G , we obtain afinite presentation for G by using the Cayley graph Γ = Γ(G ,Y ):
one vertex for each g ∈ G ,
one edge [g , gy ] for each g ∈ G , y ∈ Y .
Any basis for H1(Γ, Z) corresponds to a set of relations R suchthat G = 〈Y : R〉 .
Redundant relators in R can be discarded.
What is group homology? What is gap? A couple of algorithms
Algorithm 1
Given a generating set Y for a permutation group G , we obtain afinite presentation for G by using the Cayley graph Γ = Γ(G ,Y ):
one vertex for each g ∈ G ,
one edge [g , gy ] for each g ∈ G , y ∈ Y .
Any basis for H1(Γ, Z) corresponds to a set of relations R suchthat G = 〈Y : R〉 .
Redundant relators in R can be discarded.
Exercise: Find a presentation for G = 〈 (1, 2), (1, 2, 3) 〉.
What is group homology? What is gap? A couple of algorithms
gap> Y:= [(1,2), (2,3), (3,4) ] ;;
gap> G:=Group( Y );;
gap> CayleyGraphDisplay(G,Y);
What is group homology? What is gap? A couple of algorithms
gap> Y:= [(1,2), (2,3), (3,4) ] ;;
gap> G:=Group( Y );;
gap> CayleyGraphDisplay(G,Y);
G = 〈x , y , z : x2 = y2 = z2 = (xy)3 = (yz)3 = (xz)2 = 1〉
What is group homology? What is gap? A couple of algorithms
Procedure 2
There is no algorithm for deciding if a presentation 〈Y : R〉presents a finite group G .
What is group homology? What is gap? A couple of algorithms
Procedure 2
The Todd-Coxeter procedure is often successful in producing apermutation representation for G when G is finite. The idea is:
Assign permutations π(y) to each of the generators y ∈ Y in sucha way that the permutations satisfy only the relations π(r) forr ∈ R .
What is group homology? What is gap? A couple of algorithms
Procedure 2
The Todd-Coxeter procedure is often successful in producing apermutation representation for G when G is finite. The idea is:
Assign permutations π(y) to each of the generators y ∈ Y in sucha way that the permutations satisfy only the relations π(r) forr ∈ R .
Exercise: Find the order, and a permutation representation, ofG = 〈 x , y : yxyx−1 = 1, xyxy−1 = 1 〉.
What is group homology? What is gap? A couple of algorithms
Algorithm 3
Given a set Z = {z1, . . . , zk} ≤ Sn of permutations, the order ofthe group G = 〈Z 〉 can be found using:
|G | = |nG | × |Gn|
(where nG = {ng : g ∈ G}, Gn = {g ∈ G : ng = n}).
What is group homology? What is gap? A couple of algorithms
Algorithm 3
Given a set Z = {z1, . . . , zk} ≤ Sn of permutations, the order ofthe group G = 〈Z 〉 can be found using:
|G | = |nG | × |Gn|
(where nG = {ng : g ∈ G}, Gn = {g ∈ G : ng = n}).
Gn is generated by
Zn = {(tz)−1
tz : t ∈ T , z ∈ Z}
where T is a transversal for Gn in G , and the coset gGn isrepresented by g ∈ T .
What is group homology? What is gap? A couple of algorithms
Algorithm 3
Given a set Z = {z1, . . . , zk} ≤ Sn of permutations, the order ofthe group G = 〈Z 〉 can be found using:
|G | = |nG | × |Gn|
(where nG = {ng : g ∈ G}, Gn = {g ∈ G : ng = n}).
Gn is generated by
Zn = {(tz)−1
tz : t ∈ T , z ∈ Z}
where T is a transversal for Gn in G , and the coset gGn isrepresented by g ∈ T .
Exercise: Find the order of the permutation groupG = 〈 (1, 2), (1, 3, 5) 〉.
Top Related