Computing Conjugacy Classes of Elements in Finite Matrix Alexander Hulpke Department of Mathematics Colorado State University Fort Collins, CO, 80523, USA http://www.hulpke.com Monday, October 17, 11 Computer Algebra in Class s s le ent e m a m h e s S i t r I am working on a project to improve the usability e v Ad of the free (GPL) system GAP for use in undergraduate algebra courses. Web page at http://www.math.colostate.edu/ ~hulpke/CGT/education.html - Standard installers for Macintosh OSX and Windows (GAP 4.4.12 and some packages) - Maple-like shell with Save/Load Education-specific functionality and documentation. Talk to me or email me if you are interested! Monday, October 17, 11 The Task at Hand Given a group G, find the elements of G Since they don’t all fit into memory: Up to conjugacy g-1xg. G is given by generating matrices. Assumption: We can solve all problems for all simple composition factors. Corresponding Transporter problem (element conjugacy) is similar. This is the prototype for other problems. Monday, October 17, 11 What already exists ? For permutation groups, a solution exists (CANNON, HOLT; H.) Ingredients: - A Stabilizer Chain for constructive element tests, also for subgroups. - A homomorphism G→G/R where R is the largest solvable normal subgroup. - Decomposition of R via its abelian chief factors. We need to provide equivalent tools for matrix groups. Monday, October 17, 11 Step1: Matrix Group Recognition Matrix Group Recognition finds action homs and thus obtains a composition tree G . N = ker ⇤ G with ⇥ . & ker ⇥ N Image(⇥) with ⇤ & F = Image(⇤) with . & ker F Image( ) At each node, we can evaluate the homomorphism (by acting on the objects of the underlying decomposition) and have generators for the kernel. Monday, October 17, 11 Status There are algorithm descriptions for the decomposition steps (not necessarily of desired complexity yet). Usable concrete implementations exist (e.g. the recog package in GAP. There are recognition routines for many of the simple groups (again not always of desired complexity). Recognition of “small” cases can be done as permutation groups.. Monday, October 17, 11 Step 2: Improving the Series Conjugation action of G on nonabelian composition factors of one type T yields a homomorphism α:G→(Aut T)≀Sn. Image is permutation group (or matrix group). ϱ = α1 × ... × αm to direct product. R=Ker ϱ is the largest solvable normal subgroup, the solvable radical. Generators for R from relators for G/R. Monday, October 17, 11 Waffle Computing a PCGS term Conjecture: A solvable R usually has a short orbit on vectors or on submodules. Submodules for R’, R’’,... give candidates. The algorithm by SIMS for solvable group stabilizer chains thus can be used to determine G ⊳R=R0⊳R1 ⊳⋅⋅⋅ ⊳ ⟨1⟩ with Ri/Ri+1 elementary abelian, as well as bases for these vector spaces (a PCGS) and a method for determining coefficient vectors. Monday, October 17, 11 Step 3: Working with Subgroups To avoid evaluating ϱ represent U≦G by: - An induced PCGS (think: REF for matrix) for U∩R. - Generators ui ∈U s.t. U=〈U∩R,u1,u2,...〉 ϱ Images u i as elements of G/R≦D. Element test in U then first tests in U ϱ . Then divide off and test in U∩R. Analogously for any x∈G in the algorithm also maintain its image xϱ∈G/R. Monday, October 17, 11 Orbit/Stabilizer Algorithm When calculating orbit/stabilizer of δ under U (this will be a basic operation) - Calculate the orbit Δ of δ under N=U∩R⊲U and the stabilizer V≦U∩R of δ. Δ is a U-block. Calculate the orbit and stabilizer of Δ under U by computing in Uϱ. N (Represent Δu by single element.) Correct generators of StabU(Δ) to get StabU(δ) as complement. Monday, October 17, 11 U StabU(Δ) StabU(δ) StabN(δ) 〈1〉 Step 4: Lifting We can now proceed essentially the same as for permutation groups: Assume we have conjugacy classes/ centralizers in G/R=G/R0. (If this is a permutation group, by permutation group methods.) Now go repeatedly from G/Ri to G/Ri+1 until we reach Rk = ⟨1⟩. Each step reduces to orbit calculations for an (affine) action on Ri/Ri+1. Monday, October 17, 11 Step 5: Profit Implemented in GAP. The code assumes as unified interface a PCGS for R, a representation for G/R as permutation group, as well as generators for G and their images in G/R. This is provided for both matrix groups and permutation groups. About 40% speedup for permutation groups – the R-orbits really help. Monday, October 17, 11 Some Runtimes Times in Seconds on a 2.6GHz MacPro. Group 3^5.2^4.2.S_5 Parent GL(10,2) Order Dim/Deg q #Cl tSetup tClass 933,120 10 2 108 1.5 1 2^{1+8}.(A_5\times A_5).2 HN 3,686,400 760 2 56 100 126 5^{1+4}:4.S_6 Ly 9,000,000 111 5 55 155 30 5^3.L_3(5) Ly 46,500,000 111 5 39 31 9 3:2\times L_5(2) GL(10,2) 59,996,160 10 2 81 0.7 0.7 2^5.L_5(2) Th 319,979,520 248 2 41 7 6 2^5.L_5(2) Th 319,979,520 248 5 41 290 111 2^{1+12}.3.M_{22}:2 J_4 21,799,895,040 112 2 113 4 9 2^2.U_6(2).2 Fi_23 73,574,645,760 31671 - 146 1 10 2^2.U_6(2).2 Fi_23 73,574,645,760 253 3 146 334 135 2^{1+8}.O_8^+(2) Co_1 89,181,388,800 24 2 154 3 4 2^{1+8}.O_8^+(2) Co_1 89,181,388,800 274 2 154 24 41 2^{1+8}.O_8^+(2) Co_1 89,181,388,800 98280 - 154 5 36 2^{11}.M_{24} Co_1 501,397,585,920 24 2 80 3 2 2^{11}.M_{24} J4 501,397,585,920 112 2 72 6 6 3.Suz.2 Co_1 2,690,072,985,600 98280 - 106 218 436 2^{1+22}.Co_2 B (Chop) 3.548835957E+20 1003 2 448 520 27479 Setup is often large part of runtime. Change of representation is roughly proportional to cost of multiplication. Monday, October 17, 11 1.44 · 1013 U.S. public debt (2010) Status Code works for some pretty large groups. Including examples that would be impossible to do in other ways. Some cases in composition tree are not yet satisfying. In particular constructive isomorphism for simple groups. Other problems (classes of subgroups, normal subgroups, automorphism groups) can be attacked using the same framework. Monday, October 17, 11