1 Computational Group Theory 2 Groups Given As Cayley Tables Or
Total Page:16
File Type:pdf, Size:1020Kb
AM 106/206: Applied Algebra Prof. Salil Vadhan Lecture Notes 12 October 28, 2009 1 Computational Group Theory • Computational Questions about Groups: { Given a group G, compute jGj. { Given a group G, is G abelian? cyclic? { Given a group G and a subgroup H ≤ G, is H normal? { Given a group G and a subgroup H ≤ G and g 2 G, is g 2 H? { etc. • How can we be \given a group"? { Cayley table { \Black Box" that performs group operations { Generators and Relations { As a subgroup of a familiar group (e.g. Sn, GLn) 2 Groups given as Cayley Tables or Black Boxes • Most problems are easy to solve in time polynomial time in the size of the Cayley table (jGj2). • Can often do better with randomization. • Randomized Algorithm to Test whether G is abelian: 1. Choose random elements x; y R G. 2. Accept if xy 6= yx. • Running time O(log jGj). • Analysis: Always accepts if G abelian. If G nonabelian, then: { x2 = Z(G) with probability at least 1=2. { Given that x2 = Z(G), the probability that y2 = C(x) = fz : xz = zxg is at least 1=2. { Thus the algorithm rejects with probability at least 1=4. (Can be amplified by repeti- tion.) • Black-Box Groups 1 { Above algorithm best viewed as operating on a \black-box group": group given as a \black box" that in one time step, can multiply two group elements, invert a group element, and test whether two group elements are equal. { Also need to generate uniformly random group elements. Not usually part of the def- inition of a \black-box group" so need to give algorithms for doing this (e.g. given generators for G). 3 Groups given via Generators and Relations • Def: For a group G and a set S ⊆ G, we define the subgroup generated by S to be −1 hSi = fg1g2 ··· g` : ` ≥ 0; gi 2 S [ S g = smallest subgroup of G containing S; where S−1 = fs−1 : s 2 Sg. If G = hSi for a finite set S, we say that G is finitely generated. • Examples: { Finite groups? { Cyclic groups? { Z? { Z × Z? { Q? • To specify a group, it is not enough to specify the generators; we also need a set T of relations between them. • What are the following groups? { S = fag, T = ;. { S = fa; bg, T = fab = bag. { S = fag, T = fan = "g. { S = fa; bg, T = fan = "; b2 = "; ab = ba−1g. • Def: A group is finitely presented if it can be described by a finite set S of generators with a finite set T of relations among them. • More formal description of generators and relations. { Def: For a set S of symbols, the free group on S is the group F (S) consisting of all strings (words) over the alphabet S [ S−1 with no occurrences of any substrings of the form ss−1 or s−1s for s 2 S, and with multiplication defined by cancelling inverses in the obvious way. ∗ e.g. in F (fa; bg), (aab−1a−1bba−1)(ab−1ab) = 2 { If G = hSi, then there is a surjective homomorphism ' : F (S) ! G where '(w1w2 : : : wn) = w1 · w2 ··· wn, where the latter product is in G. The relations among S in G are pre- cisely fw = " : w 2 ker(')g.A presentation of G are sets S ⊆ G and T ⊆ F (S) such that ker(') is the smallest normal subgroup of F (S) containing T (i.e. every element of ker(') can be obtained by a finite number of multiplications by elements of T [ T −1 and conjugations by elements of G). • Unfortunately, most problems about finitely presented groups provably have no algorithms! For example: { Given finite S and T ⊆ F (S), is F (S)=hhT ii = f"g? { Given finite S, T ⊆ F (S), and w 2 F (S), is w 2 hT i? • Nevertheless, there are heuristics that work in some cases (Todd-Coxeter Algorithm). 4 Permutation Group Algorithms • If G = hSi for some given S ⊆ Sn, many problems can be solved in polynomial time, namely time poly(n; jSj), even though G can be of size as large as n!. • Schreier-Sims Algorithm: from S, constructs a strong generating set, which consists of: { A sequence T1 ⊃ T2 ⊃ · · · ⊃ Tm ⊃ Tm+1 = ; of subsets of Sn. { A base sequence (β1; : : : ; βm), with each βi 2 [n]. such that { hTii = stabG(β1) \ stabG(β2) \···\ stabG(βi−1). { hTi+1i = stabhTii(βi) is a proper subgroup of hTii. { stabG(β1) \ stabG(β2) \···\ stabG(βm) = f"g. • Given a strong generating set, can compute jGj as follows: jGj = jhT1ij = [hT1i : hT2i] · jhT2ij = [hT1i : hT2i] · [hT2i : hT3i] ··· [hTmi : hTm+1i] = jorbhT1i(β1)j · jorbhT2i(β2)j · · · jorbhTmi(βm)j • Note that m ≤ log2 jGj. • Computing orbhT i(β): 1. Let B = fβg. 2. Repeat n times: Let B B [ fσ(b): σ 2 T; b 2 Bg. 3. Output B. 3 • At same time as computing orbits, can compute a set Ri of representatives of the cosets of hTi+1i in hTii, so that for every b 2 orbhTii(βi), there is a unique ρ 2 Ri such that ρ(βi) = b. • Claim: Every element σ 2 G has a unique representation as a product ρ1ρ2 ··· ρm, where ρi 2 Ri, and this representation can be found in polynomial time. (Thus we can test membership in G by seeing if this algorithm succeeds.) • Algorithm: On input σ: { Let σ1 = σ. { Find unique ρ1 2 R1 such that ρ1(β1) = σ1(β1). −1 { Let σ2 = ρ1 σ1 2 hT2i. { Find unique ρ2 2 R2 such that ρ2(β2) = σ2(β2). −1 { Let σ3 = ρ2 σ2 2 hT3i. { . { Find unique ρm 2 Rm such that ρm(βm) = σm(βm). { Output ρ1 ··· ρm. • Example: T1 = f(135); (15)g ⊃ T2 = f(15)g ⊃ T3 = ;,(β1; β2) = (3; 1) is a strong generating set for G = hT1i. { Compute orbits orbhT1i(3), orbhT2i(1), coset representatives R1;R2, and jGj. { Decide whether (13) 2 G, (12) 2 G. 4.