From: rusin@vesuvius.math.niu.edu (Dave Rusin) Newsgroups: sci.math Subject: Re: Groups and my software Date: 14 Oct 1997 14:34:36 GMT Wilbert Dijkhof asked for a reference for this result I had posted: Let a_n be the number of non-isomorphic groups of order p^n. Then log_p (a_n) is asymptotic to (2/27)n^3. Graham Higman showed (Proc London Math Soc 10 (1960) 24-30) that the number b_n = log_p (a_n) / n^3 satisfies 2/27 - o(n) <= b_n <= 2/15 + o(n) where the implied constant is independent of p. Later, Charles Sims (Proc London Math Soc 15 (1965) 151-166) improved the upper bound to b_n <= 2/27 + o(n) (Again this is independent of p, although Higman's lower bound is a little tighter than Sims' upper bound.) Many more delicate results are also known for p-groups, partitioning the set of those groups in various ways and then enumerating the parts. Counting non-p-groups is rather more problematic, but good results have been obtained by Laszlo Pyber (Ann Math 137 (1993) 203-220). I had foolishly continued babbling: > I'll add that for solvable groups an enumeration can be made with a > concerted effort using an induction on Sum(ei), although this assumes > that a practical computation of cohomology groups can be carried out, > which is not immediately clear except in principle. which prompted Dijkhof to ask >What is a cohomology group? Whew! That's a tall order. Without giving an answer which adequately covers all cohomology groups, let me describe the group E = H^2(G,A), where G is a group and A is a G-module, that is, A is an abelian group for which a homomorphism G --> Aut(A) has been fixed. (For example, if G = Z/2Z, we might have A = Z/3Z-with-G-acting-trivially, or A = Z/3Z-with-G-acting-by-inversion.) This E has a group structure, but as a set it may be viewed simply as the set of group extensions 1 -> A -> X -> G -> 1, that is, E counts the number of groups X with a normal subgroup isomorphic to A and a quotient group isomorphic to G. [The cognoscenti are kindly requested not to quibble over the difference between a count of the groups X and a count of the extensions A->X->G.] Well, there are very nice theorems which state that, for the two examples of pairs (G,A) which I gave above, this group E is trivial, that is, there is a unique (up to isomorphism) extension of A by G in each case. In the first case, X must be the cyclic group of order 6, and in the second, X must be the symmetric group of order 6. This completes the classification of the groups X of order 6, using 1. The Sylow theorems, which tell us X must have a normal subgroup A of order 3. 2. The structure theorems for abelian groups, which tell us A = C_3 and G = C_2 (and which allow us to determine that G can only act on A in those two ways). 3. Cohomology theory, as above, deducing the only ways to piece together A and G to make X. In principle -- and again, I stress I would not want to do this in any but the smallest cases -- one could follow this procedure to compute all the solvable groups of a given order. Somewhat more subtle cohomology theorems allow us to determine the possible extensions 1 -> A -> X -> G -> 1 even if A is not abelian, so that one could determine _all_ the finite groups of a given order if one knew the simple groups sufficiently well. That's rather a pie-in-the-sky statement, but it does underscore the importance of finding those simple groups, a task whose successful resolution is easily one of the most incredible things every accomplished by our species. dave ============================================================================== From: Nick Halloway Newsgroups: sci.math Subject: Re: Groups and my software Date: Wed, 15 Oct 1997 01:01:25 -0700 On 14 Oct 1997, Dave Rusin wrote: > Whew! That's a tall order. Without giving an answer which adequately > covers all cohomology groups, let me describe the group E = H^2(G,A), > where G is a group and A is a G-module, that is, A is an > abelian group for which a homomorphism G --> Aut(A) has been fixed. > (For example, if G = Z/2Z, we might have A = Z/3Z-with-G-acting-trivially, > or A = Z/3Z-with-G-acting-by-inversion.) > > This E has a group structure, but as a set it may be viewed simply as > the set of group extensions > 1 -> A -> X -> G -> 1, > that is, E counts the number of groups X with a normal subgroup > isomorphic to A and a quotient group isomorphic to G. I suppose you mean here that X/{subgroup isomorphic to A} = G. Neat. I looked up cohomology groups, and H^2(G,A) is defined as follows: Define 1-chains C^1(G,A) to be functions from G into A, 2-chains C^2(G,A) are functions from G x G --> A, 3-chains C^3(G,A) are functions from G x G x G --> A. The C^n (G,A) are abelian groups with addition defined by (f_1 + f_2) (g_1, ..., g_n) = f_1 (g_1, ..., g_n) + f_2 (g_1, ..., g_n) Then the boundary map d_1 : C^1(G,A) --> C^2(G,A) is defined as (d_1(f)) (g_1,g_2) = g_1 . f(g_2) - f(g_1 * g_2) + f(g_1), where . signifies the action of G on A, * signifies multiplication in G. And d_1 : C^2(G,A) --> C^3(G,A) is defined by (d_2(f)) (g_1,g_2,g_3) = g_1 . f(g_2,g_3) - f(g_1*g_2,g_3) + f(g_1,g_2*g_3) - f(g_1,g_2) and the second cohomology group H^2(G,A) is defined as kernel(d_2)/image(d_1). How does this relate to groups X with X/A = G? Given groups A and G, what more do we need to determine multiplication in X? We need an action of G on A; X acts on A by conjugation, and since A is abelian this means that G acts on A. Also, given a choice of coset representatives {g_i} in X, we need to define multiplication on these representatives. We already have a multiplication within the coset representatives that's inherited from the multiplication in G. Call this multiplication *_G. So g_i * g_k = g_i *_G g_k * f(g_i, g_k), where f(g_i, g_k) is in A. So we have a natural function f: G x G --> A which together with the action of G on A, defines multiplication in X. Two such functions f define the same multiplication in X if they are generated by different choices of coset representatives of G. (This may not be the *only* time two such functions can generate the same multiplication in X) What happens if we change coset representatives? Let {g_i'} be a new set of coset representatives, with g_i' = g_i * e(g_i) where e is a function: G --> A. Then g_i' * g_k' = g_i * e(g_i) * g_k * e(g_k) = g_i * g_k * (g_k . e(g_i)) * e(g_k) = (here . is again the action of G on A) g_i *_G g_k * f(g_i,g_k) * (g_k . e(g_i)) * e(g_k) = g_i' *_G' g_k' * e(g_i *_G g_k)^(-1) * f(g_i,g_k) * (g_k . e(g_i)) * e(g_k), where *_G' is the multiplication on the new set of coset representatives inherited from G (I'll be surprised if anybody reads this) Sooo, the new f: G x G --> A that we get is described as f(g_i', g_k') = e(g_i *_G g_k)^(-1) * f(g_i,g_k) * (g_k . e(g_i)) * e(g_k); since A is abelian we have f(g_i', g_k') * f(g_i,g_k)^(-1) = e(g_i *_G g_k)^(-1) * (g_k . e(g_i)) * e(g_k) which is a function: G x G --> A, which is *almost* a boundary, since (d_1(e))(g_k, g_i) = e(g_k *_G g_i)^(-1) * (g_k . e(g_i)) * e(g_k) -- only the order of multiplication *_G is reversed -- I wonder what's going on with that. So, these functions and the action of G on A, up to boundaries of d_1, represent X, though not necessarily a unique X. Are these functions f: G x G --> A also in the kernel of d_2? More or less -- the image of these f's under d_2 almost cancel. Again the calculation is a little off. Requiring such an f to be in the kernel of d_2 appears to be the same as requiring X to satisfy associativity. That is, g_1 * (g_2 * g_3) = g_1 * (g_2 *_G g_3) * f(g_2,g_3) = g_1 *_G g_2 *_G g_3 * f(g_1, g_2 *_G g_3) * f(g_2,g_3). And, (g_1 * g_2) * g_3 = (g_1 *_G g_2) * f(g_1,g_2) * g_3 = (g_1 *_G g_2) * g_3 * (g_3 . f(g_1,g_2)) = (g_1 *_G g_2 *_G g_3) * f(g_1 *_G g_2, g_3) * (g_3 . f(g_1,g_2)). Setting these expressions equal, we get f(g_1, g_2 *_G g_3) * f(g_2,g_3) = f(g_1 *_G g_2, g_3) * (g_3 . f(g_1,g_2)) which is almost the requirement for f to be in the kernel of d_2, (d_2(f))(g_3,g_2,g_1) = g_3 . f(g_2,g_1) - f(g_3 *_G g_2, g_1) + f(g_3, g_2 *_G g_1) - f(g_3, g_2) The order of arguments of f is switched and the order of multiplication in G is switched. To give X an identity, we also require that f be associated with the action of G on A: 1 * g_2 * a_2 = 1_G * (1_G)^(-1) * g_2 * a_2 = 1_G * g_2 * (g_2 . 1_G) * a_2 = g_2 * f(1_G, g_2) * (g_2 . 1_G) * a_2 Since this = g_2 * a_2, we require that f(1_G, g_2) * (g_2 . 1_G) = 1. Inverses are guaranteed by associativity -- since the inverse of g * a * g^(-1) is g * a^(-1) * g^(-1) we have by associativity an inverse for g * a. It looks like if you require 1_G = 1, then if X and Y are two groups with X/A = G = Y/A, then X and Y can be "added" to form a third group Z with Z/A = G. Anyways, this is neat ... I wonder what the first cohomology group H^1 (G,A) represents. Looks like it's just the homomorphisms of G into A/[G,A]. These are functions in the kernel of d_1, so g_1 . f(g_2) - f(g_1*g_2) + f(g_1) = 0, so f(g_1*g_2) = g_1 . f(g_2) + f(g_1). The 0-cochains C^0 (G,A) are just elements of A; the boundary d_0 of one of these elements is described by (d_0 (a)) (g_1) = g_1 . a - a I wonder what the other cohomology groups H^3(G,A), etc. describe ... > one could determine _all_ the > finite groups of a given order if one knew the simple groups > sufficiently well. That's rather a pie-in-the-sky statement, but it > does underscore the importance of finding those simple groups, > a task whose successful resolution is easily one of the most > incredible things every accomplished by our species. > > dave Mathematical chauvinism! ============================================================================== From: snowe@rain.org (Nick Halloway) Newsgroups: sci.math Subject: Re: Groups and my software Date: 16 Oct 1997 03:18:17 GMT Dave Rusin (rusin@vesuvius.math.niu.edu) wrote: : This completes the classification of the groups X of order 6, using : 1. The Sylow theorems, which tell us X must have a normal : subgroup A of order 3. : 2. The structure theorems for abelian groups, which tell us : A = C_3 and G = C_2 (and which allow us to determine : that G can only act on A in those two ways). : 3. Cohomology theory, as above, deducing the only ways to : piece together A and G to make X. : : In principle -- and again, I stress I would not want to do this in any : but the smallest cases -- one could follow this procedure to compute : all the solvable groups of a given order. Somewhat more subtle : cohomology theorems allow us to determine the possible extensions : 1 -> A -> X -> G -> 1 : even if A is not abelian, so that one could determine _all_ the : finite groups of a given order if one knew the simple groups : sufficiently well. If |A| is relatively prime to |G| then all the cohomology groups H^n(G,A) are trivial. You can show that multiplication by |G| sends H^n(G,A) to 0; because C^n(G,A) is a set of functions into A, multiplication by |A| sends H^n(G,A) to 0. If |A| and |G| are relatively prime that means H^n(G,A) is 0. For n=2 this means that if A is an abelian normal subgroup of G and |A| is relatively prime to |G/A|, then G is a semidirect product A X| G/A and G has a subgroup isomorphic to G/A. This is also true if A isn't abelian -- this is the Schur-Zassenhaus theorem. So this should limit the number of possible groups in many cases. The Schur-Zassenhaus theorem can be proved by induction on |A|. Let S_p be a Sylow-p subgroup of A. Then S_p is also a Sylow-p subgroup of G, and all the Sylow-p subgroups are in A. So, [G:N(S_p)] = [A:A intersect N(S_p)]. So, [N(S_p):A intersect N(S_p)] = [G:A]. If A intersect N(S_p) is properly contained in A, then by induction N(S_p) has a subgroup of order [G:A], call it H, and we're done. If A intersect N(S_p) = A then S_p is normal in G and G/S_p satisfies induction conditions, so there is a subgroup H of G containing S_p with [H:S_p] = [G:A]. S_p has a nontrivial center Z, which is normal in H. Then H/Z satisfies induction conditions, so there is a subgroup K of H with [K:Z] = [G:A]. Z is abelian, so there is a subgroup of K which has order [G:A], and we're done. ============================================================================== From: rusin@vesuvius.math.niu.edu (Dave Rusin) Newsgroups: sci.math Subject: What is the cohomology of groups (Was: Re: Groups and my software) Date: 16 Oct 1997 14:02:17 GMT Following up a conversation about classifying groups of a given order using (I had suggested) cohomology groups, I was asked to explain what that meant, and responded with: > Whew! That's a tall order. Without giving an answer which adequately > covers all cohomology groups, let me describe the group E = H^2(G,A), > where G is a group and A is a G-module, that is, A is an > abelian group for which a homomorphism G --> Aut(A) has been fixed. Nick Halloway followed with a good precis of the first few cohomology groups and their application to group extension. I'd like to add a few details. At one point he writes >It looks like if you require 1_G = 1, then if X and Y are two groups >with X/A = G = Y/A, then X and Y can be "added" to form a third group >Z with Z/A = G. This is known as the "Baer sum". Like much of cohomology theory, the key ideas preceded the general development. Later, Halloway continues: >Anyways, this is neat ... I wonder what the first cohomology group >H^1 (G,A) represents. Looks like it's just the homomorphisms of G into >A/[G,A]. This is an interesting suggestion, although it's not quite right. H^1(G,A) may be interpreted as the set of "crossed homomorphisms" from G to A, that is, functions f: G -> A with f(xy)=f(x)^y + f(y) for all x, y in G. (More precisely, it's the set of all these, modulo the subgroup of "inner" crossed homomorphisms --- those of the form f(x)=a^x - a for some fixed a in A.) It is true that each element of H^1(G,A) gives rise to a homomorphism G -> A/[G,A] in a natural way; indeed, there is a homomorphism phi: H^1 (G, A) -> Hom(G, A/[G,A]); but in general it's neither one to one nor onto. For example, let G be the group of two elements, and let A be C2 x C2, where G swaps the two generators of A (e1 and e2, say). It's not hard to see that the only crossed homomorphisms send the generator of G to a multiple of e1+e2, that is, we must have either f(x)=1 for both x in G, or f(x) = e1^x + e1. In either case, f is "inner", so that H^1(G,A) = {0}. On the other hand, there is a certainly a nontrivial homomorphism G --> A/[G,A] = C_2. So for this G and A, phi is not onto. For a second example, let G be the symmetric group on 3 letters, and let A be C_3, on which G acts by inversion (so that the Sylow 3-subgroup <(123)> of G acts trivially on A). In this case, [G,A] is all of A, so of course Hom(G, A/[G,A]) = {0}. On the other hand, there is certainly a non-inner crossed homomorphism G -> A: if A = , then send (123)^i * (12)^j to a^i. (This can't be inner since (12) doesn't fix any element of A, except a^0 of course.) So for this G and A, phi is not one-to-one. (I think I can show, however, by induction on |A|, that phi _is_ one-to-one if G and A are both finite p-groups.) The failure of phi to be an isomorphism is related to a very pretty picture involving the homology groups. Corresponding to the short exact sequence of G-modules 1 --> [G,A] --> A --> A/[G,A] --> 1 we get a long exact sequence of cohomology groups, containing phi: 1 -> [G,A]^G -> A^G -> (A/[G,A])^G -> H^1(G, [G,A]) -> -> H^1(G, A) -(phi)-> H^1(G,A/[G,A]) -> H^2(G, [G,A]) -> ... so in fact I was able to construct the examples above by thinking about cases in which the maps in H^0 or H^2 had some appropriate property. Finally, Halloway asks a natural question: >I wonder what the other cohomology groups H^3(G,A), etc. describe ... H^0(G,A) = A^G, the set of invariants. H^1 and H^2 are discussed above. If you want to consider extensions 1->N->X->G->1 with N nonabelian, there is an obstruction in H^3( G, Z(N) ) which must vanish if an extension is to exist. Beyond that, the individual higher cohomology groups have no (known) direct interpretation (better: no interpretation which does not sound like some cohomological thing disguised as group theory). On the other hand, the set of _all_ the cohomology groups H^*(G,A) is useful. There is for example a dimension-shifting theorem ( H^n(G,A) = H^(n-1)(G,B) for suitably associated A and B ), and all those long exact sequences invoke higher and higher cohomology groups even if one is only interested in H^2. If A is a commutative ring with unit, so is R=H^*(G,A), and ring-theoretic properties of R say something about group-theoretic properties of G. Finally, maps between groups induce maps between the corresponding R's, and one often needs to look at the high-dimensional parts of R to see nontrivial actions. But that's really a statement about algebraic topology. Ken Brown's GTM "Cohomology of Groups" does a very nice job of describing most of these applications without an inordinate amount of homological algebra or category theory. Really, Halloway, you ought to stop by my office some time to chat about all this. What's half a continent, anyway? dave ============================================================================== From: rusin@vesuvius.math.niu.edu (Dave Rusin) Newsgroups: sci.math Subject: Re: What is the cohomology of groups (Was: Re: Groups and my software) Date: 22 Oct 1997 20:27:13 GMT In article <6256p9$2l4$1@gannett.math.niu.edu>, Dave Rusin wrote: >It is true that each element of H^1(G,A) gives rise to a >homomorphism G -> A/[G,A] in a natural way; indeed, there is a >homomorphism > phi: H^1 (G, A) -> Hom(G, A/[G,A]); >but in general it's neither one to one nor onto. >(I think I can show, however, by induction on |A|, that phi _is_ >one-to-one if G and A are both finite p-groups.) I cannot imagine what this "Dave Rusin" guy thought he could show. Let G be any non-cyclic 2-group, and let A be Z/4Z with any nontrivial action. Then the sequence [G,A] -> A -> A/[G,A] leads to the long exact sequence containing ...->(A/[G,A]) -> H^1(G, [G,A]) -> H^1(G,A) -(phi)-> H^1(G, A/[G,A]) ->... The first displayed term is Z/2Z (cyclic), and the second is Hom(G, Z/2Z) (noncyclic), so that first map isn't onto, so the second map isn't the zero map, so phi isn't an injection. dave "On the internet, no one knows you're asleep at the wheel. ============================================================================== From: Dave Rusin To: s9400842@driene.student.utwente.nl Subject: Re: Groups and my software Date: Tue, 21 Oct 1997 11:02:56 -0500 (CDT) Newsgroups: sci.math In article <34467790.1812@mail.student.utwente.nl> you write: >> That's a tall order. Without giving an answer which adequately >> covers all cohomology groups, let me describe the group E = H^2(G,A), > >Here is my first problem, what do you mean by H^2(.,.). Is H^2 the (external) >direct product of H with itself? If so what is H for group. Not at all. The "H" is a symbol designating something from homology theory. It must be decorated with a superscript (or subscript), necessarily an integer, and followed by "(", a group ("G", say), ",", a G-module, and ")". Think of it in computer-jargon as a call to a subroutine; H(n:integer, G:group, A:G-module) := {* defining code deleted ! *} >> where G is a group and A is a G-module, that is, A is an >> abelian group for which a homomorphism G --> Aut(A) has been fixed. >> (For example, if G = Z/2Z, we might have A = Z/3Z-with-G-acting-trivially, >> or A = Z/3Z-with-G-acting-by-inversion.) > >To refresh my memory. An automorphism a of A is a isomorphism of A onto A. >So suppose G = Z/2Z = {0,1}, and we take A = Z/3Z = {0,1,2}. A is abelian and >Aut(A) = {f1,f2} with f1(x)=x and f2(x)=2x. >With-G-acting-trivially means A = [Z/3Z,+]??? >But we for homomorphism b, b:G->Aut(A) do you thake? >This one: b(0)=f1 and b(1)=f2 ? >Check: b(0+0) = b(0) = f1 = f1*f1 = b(0)*b(0) > b(0+1) = b(1) = f2 = f1*f2 = b(0)*b(1) > b(1+0) = ... = b(1)*b(0) >and b(1+1) = b(0) = f1 = f2*f2 = b(1)*b(1) ok. You have Aut(A) = {f1, f2}, which is not just a set but a group (f1 is the identity and f2 is an element of order 2). So there are two possible homomorphisms G --> Aut(A) : the trivial one (each g in G is sent to f1) and an isomorphism (0 -> f1, 1 -> f2). When someone says, "Consider this G-module A ...", they must specify both the abelian group A and the homomorphism G -> Aut(A). So when I say "A = Z/3Z-with-G-acting-trivially", I mean to use the trivial homomorphism G->Aut(A). When I say "A = Z/3Z-with-G-acting-by-inversion", I mean to use that other homormophism, the one you call b. >> that is, E counts the number of groups X with a normal subgroup >> isomorphic to A and a quotient group isomorphic to G. >> [The cognoscenti are kindly requested not to quibble over the >> difference between a count of the groups X and a count of the >> extensions A->X->G.] > >My book says, G is an extension of H by K if G has a subgroup T with T=~H and >G/T=~K (with H a normal subgroup of G). This is new for me, but... >The simple case: A={0,1,2} is an extension of 1={0} by K, because >1) 1 is a normal subgroup of A >2) T must be {0}, ie 1 (because there must be an isomorphism between T and H) >3) A/T = {0,1,2}/{0} = {{0}+0,{1}+0,{2}+0} = {{0},{1},{2}}, so take K=A, which is > isomorphic to A/T ???? I'm not sure I understand your difficulty in this section. You have the right definition of group extension but perhaps you have missed the importance of my group E. The point is that the groups G and A are given when we go to compute E; when we have computed E, it will help us discover _new_ groups, the one which are extensions of A by G. You should check that the cyclic group X = Z/6Z is an extension of its subgroup A' = 2Z/6Z (which is isomorphic to A) by G, and that the symmetric group X = Sym(3) is an extension of its subgroup A'={1, (123), (132)} (also isomorphic to A) by G. In the one case, X acts trivially on A' by conjugation (i.e., A' is in the center of Z/6Z) and in the other X acts on A' by inversion (e.g. (12)^(-1) (123) (12) = (123)^(-1).) The fact that H^2(G,A) is a one-element group, for both the G-modules A we have discussed, assures us that there are _no other_ extensions of A by G. >> This completes the classification of the groups X of order 6, using >> 1. The Sylow theorems, which tell us X must have a normal >> subgroup A of order 3. > >Let X be an ordinary group of order six. If |X|=2p for some prime p, then >X has one and only one subgroup of order p and either X has exactly p >subgroups of order 2 or it has exactly one subgroup of order 2. >So X has precisely one subgroup of order 3, so this group is normal in X. Yes, this is exactly the use of the Sylow theorems I had in mind. >> 2. The structure theorems for abelian groups, which tell us >> A = C_3 and G = C_2 (and which allow us to determine >> that G can only act on A in those two ways). > >Sorry, I don't know these structure theorems. Can you say something about this? Every finite abelian group A is a direct product of cyclic groups of prime-power order, and the set of those orders is uniquely defined by A. In particular, there is only one group of order 3 and only one group of order 2 (up to isomorphism of course). >You talked about cohomology groups, but I still don't know when a group is a >cohomology group. Your question seems to imply that every group may be examined internally and decided to be a cohomology group or not (just as one might examine a group and decide if it is a solvable group or not, or decide if it is a nilpotent group or not). That's not how the phrase is used. A cohomology group is a group one computes from other information; in this way it's like an automorphism group, or a commutator subgroup, or something. In fact, it's a lot less interesting than those other examples, in the sense that when you're done doing the computation, this cohomology group will always be abelian. (One could ask questions like "Given a group G, is there a group X with Aut(X)=G", or "Given a group G, is there a group X with X' = G"; those are difficult and interesting. On the other hand, if I say, "Given a group G, is there a group X and and X-module A with G=H^2(X,A)", that's pretty dull: the answer is always "no" if G is not abelian, but otherwise easily "yes", just looking at abelian candidates X.) dave ==============================================================================