Jason Yeager Whitt Computing the cohomology of groups with trivial intersection Sylow p-subgroups (Under the direction of Jon F. Carlson)

This work describes programs written in the MAGMA language to assist in the calculation of the cohomology of finite groups with finite intersection Sylow subgroups. These programs are applied to calculate four examples: the unitary group PSU(3,5) and the McLaughlin group in characteristic 5 and the unitary group PSU(3,3) and its automorphism group PSU(3,3):2 in characteristic 3. Up to now, most calculations in group cohomology have been over a field of characteristic two.

Index words: Group cohomology, sporadic groups, unitary groups, McLaughlin group Computing the cohomology of groups with trivial intersection

Sylow p-subgroups

by

Jason Yeager Whitt

B.B.A., Mississippi State University, 1990 B.A., Mississippi State University, 1992

A Dissertation Submitted to the Graduate Faculty of The University of Georgia in Partial Fulfillment of the Requirements for the Degree

Doctor of Philosophy

Athens, Georgia Computing the cohomology of groups with trivial intersection

Sylow p-subgroups

by

Jason Yeager Whitt

Approved:

Major Professor

Date

Approved:

Graduate Dean

Date

Acknowledgements

I would like to thank the University of Georgia and its Department of Mathematics for the financial and professional support I received as a graduate student. Also, I would like to think Dr. David Benson for his critique of my work and for his introducing me to the field of algebra. I would especially like to think my advisor Dr. Jon Carlson for his assistance, his encouragement, and, most of all, for his patience.

Contents

Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Group Cohomology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 T.I. Subgroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Carlson’s Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 A Small Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4 Rings of Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1 The Action of H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2 Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Example: PSU(3,5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.1 The Cohomology of P . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 H^{ev}(G, 𝔽_{5}) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.3 Elements of odd degree . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6 Example: The McLaughlin group . . . . . . . . . . . . . . . . . . . . . . . 35 6.1 The Cohomology of P . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6.2 H^{ev}(McL, 𝔽_{5}) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.3 Elements of odd degree . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7 Some characteristic 3 examples . . . . . . . . . . . . . . . . . . . . . . . . 44 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Chapter 1

Background

1.1 Introduction

In the Summer of 1994 I began assisting Jon Carlson with his project of writing computer programs in the MAGMA language that calculate the mod-p cohomology of a p-group. This work has inspired me to write similar programs that will compute the cohomology of other groups. In particular, I am interested in some of the sporadic and classical simple groups over a field of odd characteristic. Several mod-2 cohomology rings have been computed. For eample, Carlson, Maginnis, and Milgrim computed the mod-2 cohomology of the Janko groups J_{2} and J_{3} [10], Adem, Maginnis, and Milgram computed the cohomology of the Mathieu group M_{12} [1], and Adem and Milgram computed the cohomology of the Mathieu group M_{22} [2] and the McLaughlin group McL [3]. David Green computed the integral cohomology of the Janko group J_{4} in [12] and the Mathieu group M_{24} in [13]. In the latter case, he used his calculation of the integral cohomology to compute the mod-3 cohomology. However, computing the mod-p cohomology of large simple groups, for p odd, has been quite a challenging task.

In Chapter 1, a brief decription of group cohomology will be given, along with a few important results. Chapter 2 will provide an overview of Carlson’s programs, and Chapter 4 will describe the programs written to calculate the cohomology of certain types of groups. In Chapter 3, a small example will be presented. In Chapters 5 and 6, the results of two calculations – the mod-5 cohomology rings of PSU(3,5) and the McLaughlin group – will be given. Chapter 7 contains results from two smaller examples. The MAGMA programs written to do the calculations can be found in the appendix. See [6] for details about the MAGMA programming language.

1.2 Group Cohomology

What follows will be the definition of the cohomology of a group. For a general reference to group cohomology, see [4], [5], [7], or [11]. Let G be a finite group, let R a commutative ring, and let M an RG-module. Take a projective resolution (P_{∗}, ∂) of R, i.e. an exact sequence

⋯ → P_{n} →^{∂_{n}} P_{n−1} → ⋯ → P_{1} →^{∂_{1}} P_{0} →^{ϵ} R → 0

where each P_{i} is a projective RG-module. Applying the functor Hom_{RG}(−, M) to P_{∗}, we get the cochain complex

⋯ ← Hom_{RG}(P_{1}, M) ⟵^{∂_{1}^{∗}} Hom_{RG}(P_{0}, M) ← 0.

The cohomology of G with coefficients in M are the abelian groups

H^{n}(G, M) = H^{n}(Hom_{RG}(P_{∗}, M)) = ker ∂_{n+1}^{∗}/Im ∂_{n}^{∗}.

In our examples, R = k will be a field of characteristic p, and M will be the trivial kG-module k. In this situation, one can define a product on the elements of the cohomology groups. If x ∈ H^{n}(G, k) and y ∈ H^{m}(G, k), then the product xy can be defined as follows. The element x is represented by a map P_{n} → k. Using the projectivity of the P_{i}’s we can lift this map to a chain map P_{∗} → P_{∗} that lowers degrees by n. Similarly, y corresponds to a chain map P_{∗} → P_{∗} which lowers degrees by m. If we compose these chain maps we get a chain map which lowers degrees by n + m. This chain map corresponds to an element of H^{n+m}(G, k) which we define to be the product xy.

A common way to study the cohomology of a group is to relate it to the cohomology of its subgroups. If H is a subgroup of G, then a kG-projective resolution is also a kH-projective resolution and Hom_{kG}(P_{∗}, M) ⊆ Hom_{kH}(P_{∗}, M). It is not hard to check that this inclusion induces a well-defined map

res_{G,H}: H^{n}(G, M) → H^{n}(H, M)

called the restriction map.

Another map in cohomology, the transfer map, is defined as follows. Let S be a set of coset representatives of H in G. Define T_{G/H} : Hom_{kH}(P_{∗}, M) → Hom_{kG}(P_{∗}, M) by

T_{G/H}(f) = ∑_{s∈S} sf,

where (sf)(x) = sf(s^{−1}x). This map is independent of the choice of coset representatives and commutes with the differentials in P_{∗}. Hence, this map induces a well-defined homomorphism

tr_{H,G} : H^{n}(H, M) → H^{n}(G, M)

called the transfer map. It should be noted that the restriction map is a ring homomorphism, whereas the tranfer map is not.

The following two propositions relate the transfer map and the restriction map.

Proposition 1. If H is a subgroup of G and M is a KG-module, then

tr_{H,G} ∘ res_{G,H} = |G : H| Id.

Proof. Let f ∈ Hom_{G}(P_{∗}, M). Then T_{G/H}(f) = ∑_{s∈S} sf = ∑_{s∈S} f = |G : H| f.

Proposition 2 (Mackey Formula). [11] If H and K are subgroups of G and if D is a set of double coset representatives, so that G = ∪_{x∈D}KxH, then for all α ∈ H^{n}(H, M), we have

res_{G,H}(tr_{H,G}(α)) = ∑_{x∈D} tr_{K∩xHx^{−1},K}(res_{xHx^{−1},K∩xHx^{−1}}(x^{∗}α)).

1.3 T.I. Subgroups

First, let’s consider the following definition.

Definition 3. A subgroup P of a group G is a trivial intersection (T.I.) subgroup if

P ∩ gP g^{−1} = \begin{cases}P, & if g ∈ N_{G}(P); \\ 1, & otherwise. \end{cases}

The following lemma shows why this property is a nice one.

Lemma 4. Suppose that the finite group G has a T.I. Sylow p-subgroup P, for some prime number p. Let N = N_{G}(P) and let k be a field of characteristic p. Then, for n > 0 the restriction map

res_{G,N}: H^{n}(G, k) → H^{n}(N, k)

is an isomorphism.

Proof. If α ∈ H^{n}(G, k) then

tr_{N,G}(res_{G,N}(α)) = |G: N|α.

Hence, res_{G,N} is injective. By the Mackey formula, if β ∈ H^{n}(N, k),

res_{G,N}(tr_{N,G}(β)) = ∑_{NgN} tr_{N∩N^{g},N}(res_{N,N∩N^{g}}(g^{∗}β)).

Now, if g ∉ N, then N ∩ N^{g} has order not divisible by p, so that H^{n}(N ∩ N^{g}, k) = {0}. In this case, res_{N,N∩N^{g}}(g^{∗}(β)) = 0. Thus, the Mackey formula reduces to res_{G,N}tr_{N,G}(β) = β, and res_{G,N} is an isomorphism.

Since P is a normal subgroup of N = N_{G}(P), there is an action of N on H^{∗}(P, k), where the action of P is trivial. So H^{∗}(P, k) is actually a k(N/P)-module. The next lemma shows how this action can be used to compute H^{∗}(N, k). Lemma 5. If H is a normal subgroup of G, and if |G: H| is invertible in k, then the image of res_{G,H}: H^{n}(G, k) → H^{n}(H, k) is contained in the invariants of G/H, denoted H^{n}(H, k)^{G/H}, and furthermore the map

res_{G,H}: H^{n}(G, k) → H^{n}(H, k)^{G/H}

is an isomorphism. Proof. If α ∈ H^{n}(G, k) then

tr_{H,G}(res_{G,H}(α)) = |G: H|α.

Since |G: H| is invertible, tr_{H,G} is surjective. So there exists β ∈ H^{n}(H, k) such that α = tr_{H,G}(β). Since H is normal, the Mackey formula reduces to

res_{G,H}(tr_{H,G}(β)) = ∑_{g∈G/H} g^{∗}(β).

Now, the right-hand side is invariant under the action of G/H, so the image of res_{G,H} is contained in the invariants. Conversely, if β ∈ H^{n}(H, k)^{G/H}, then ∑_{g∈G/H} g^{∗}(β) = |G: H|β. Since |G: H| is invertible, we have that β is contained in the image of res_{G,H}.

Putting Lemmas 4 and 5 together we get the following proposition. Proposition 6. If G is a finite group with a T.I. Sylow p-subgroup P, and if k is a field of characteristic p, then res_{G,P} : H^{n}(G, k) → H^{n}(P, k)^{N/P} is an isomorphism.

Chapter 2

Carlson’s Programs

The details about Carlson’s programs to compute the mod-p cohomology ring of a pgroup can be found in [8]. However, for completeness I will provide a brief decription of this work. Throughout this chapter, G will denote a p-group, and k will denote a field of characteristic p.

The first step is to fix a representation of the group algebra kG as a module over itself. This will allow all homological constructions involving kG to be compatible. The chosen representation is defined as follows. Let x_{1}, …, x_{n} be a set of PCgenerators for G. That is, G has a presentation of the form

< x_{1}, …, x_{n} | x_{i}^{p} = 1, 1 ≤ i ≤ n, x_{i}^{x_{j}} = w_{ij}, 1 ≤ j < i ≤ n >,

where w_{ij} is a word in the generators x_{i+1}, …, x_{n}. Such a presentation is called a power-conjugate presentation, and using it will speed up many of the calculations. For instance, the matrices representing the actions of the generators x_{i} on kG will be triangular. Let V be a vector space over k of dimension |G|. To define the basis for our “standard” module let the j^{th} vector in the basis for V denote the element ∏(x_{i} −1)^{j_{i}} in kG where j −1 = j_{1} +j_{2}p+⋯+j_{n}p^{n−1}, for 0 ≤ j_{i} < p. This representation is dependent on the set of PC-generators, so this set should be computed only once. The first of Carlson’s functions returns the matrices representing the actions of the PC-generators and the matrices representing the actions of a minimal set of generators of G.

The next function constructs a minimal projective resolution of a module M For the purposes of calculating our examples, M will always be the trivial kG-module, k. The first step is to find a basis for RadM. A basis for the subspace in M complementary to RadM will give a minimal generating set, m_{1}, …, m_{s}, for M. Let P_{0} = ∑_{j=1}^{s} kGα_{j} be a free kG-module, and let θ : P_{0} → M be the map sending each α_{i} to m_{i}. Then θ is a projective cover of M. Let Ω(M) denote the kernel of θ. The next step is to constuct the projective cover, P_{1} = ∑_{i=1}^{t} kGβ_{i}, of Ω(M) and to compose maps to get the map ∂_{1} : P_{1} → P_{0}. This is the first boundary map in the projective resolution of M.

[figure: ⋯; P_{1}; ∂_{1}; P_{0}; θ; M; 0; Ω(M)]

For each i, ∂_{1}(β_{i}) = ∑_{j=1}^{s} a_{ij}α_{j}, where a_{ij} ∈ kG. Since we have fixed a representation of kG, the only information that needs to be stored in order to recover ∂_{1} is the vectors a_{ij}. The above process can be repeated a finite number of times, and at each stage the rank of the projective module and the a_{ij}’s are recorded.

The next function constructs the chain maps for a minimal set of generators for H^{∗}(G, k). Let P_{∗} be the minimal projective resolution of the trivial module k, as previously constructed. Then, for all n, H^{n}(G, k) ≅ Hom_{kG}(P_{n}, k). So an element γ ∈ H^{n}(G, k) can be thought of as a kG-homomorphism γ : P_{n} → k. Since P_{n} is projective, such an element can be lifted to a map γ_{0} : P_{n} → P_{0}. γ_{0}∂_{n+1} can be lifted to a map γ_{1} : P_{n+1} → P_{1}, and so on.

[figure: ⋯; P_{n+1}; γ_{1}; ∂_{n+1}; P_{n}; γ_{0}; γ; ∂_{n}; P_{n−1}; ⋯; ⋯; P_{1}; ∂_{1}; P_{0}; ϵ; k]

So, a cohomology element of degree n corresponds to a chain map that lowers degrees by n. The function starts by constructing the chain maps that span H^{1}(G, k), and then, for each higher degree, constructs those chain maps that are not products of ones already constructed. Similar to constructing the projective resolution, the only information that needs to be stored is the degrees of the generators and the images of the free kG-basis elements for each P_{n}.

The final function computes the ideal of relations in H^{∗}(G, k). If γ : P_{n} → k, then RadP_{n} ⊆ kerγ. So an element in H^{n}(G, k) corresponds to an element in the dual space (P_{n}/RadP_{n})^{∗}. Therefore, the relations in degree n are the dependence relations in the vector space (P_{n}/RadP_{n})^{∗}. If z_{1}, …, z_{n} are the generators of H^{∗}(G, k), then this function creates the polynomial ring k[z_{1}, …, z_{n}] and it computes the ideal of relations as an ideal in this polynomial ring.

At this point it should be noted that H^{∗}(G, k) is a graded-commutative ring. That is, if x, y ∈ H^{∗}(G, k), then yx = (−1)^{deg(x)deg(y)}xy. This will be of concern later when we wish to compute invariants. Also, at this point, the question of when do we know that we have all the information arises. After all, H^{∗}(G, k) is infinitedimensional, but we are only able to calculate up to a finite degree. This question is answered in [8], the answer involves finding a homogeneous system of parameters.

Chapter 3

A Small Example

Before looking at the programs that were written to compute the action of the normalizer on the cohomology of a Sylow subgroup, let us look at a small example that uses the results of chapter 1.

Let

G = Σ_{3} =< x, y|x^{3} = y^{2} = 1, yxy = x^{2} > .

Let P =< x > be a Sylow 3-subgroup. Then N_{G}(P)/P = G/P ≅< y >. P is cyclic of order 3, so we have that

H^{∗}(P, 𝔽_{3}) = 𝔽_{3}[a_{1}, b_{2}]/(a_{1}^{2})

where the indices denote the degrees of the elements.

Now, we need to compute the action on the cohomology ring induced by conjugation by y. First, let’s choose a projective resolution of 𝔽_{3}. Let P_{0} ≅ 𝔽_{3}P have basis

1, X = x − x^{2}, X^{2} = (x − x^{2})^{2} = 1 + x + x^{2}

as an 𝔽_{3}-vector space. Let θ : P_{0} → 𝔽_{3} be defined by 1 ↦ 1 and X ↦ 0. Then kerθ/Rad(kerθ) has basis {X}. Hence, P_{1} has rank 1, and ∂_{1} : P_{1} → P_{0} is defined by 1 ↦ X. ker∂_{1}/Rad(ker∂_{1}) has basis {X^{2}}, so P_{1} has rank 1, and ∂_{2} : P_{2} → P_{1} is defined by 1 ↦ X^{2}. Continuing in this manner, we get the following resolution:

⋯ → P_{3} ⟶^{∂_{3}} P_{2} ⟶^{∂_{2}} P_{1} ⟶^{∂_{1}} P_{0} ⟶^{θ} 𝔽_{3} → 0,

where each P_{n} ≅ 𝔽_{3}P, and ∂_{n} : P_{n+1} → P_{n} is defined by

∂_{n}(1) = \begin{cases}X, & if n is odd; \\ X^{2}, & if n is even. \end{cases}

The cohomology element a_{1} corresponds to the map P_{1} → 𝔽_{3} sending 1 ↦ 1 and X ↦ 0, and the element b_{2} corresponds to the map P_{2} → 𝔽_{3} sending 1 ↦ 1 and X ↦ 0.

In order to determine how y acts on a_{1} and b_{2} we need to compute the action of y on the modules P_{1} and P_{2}. Since yxy = x^{2}, y acts on P_{0} by sending

1 ↦ 1, X ↦ −X, and X^{2} ↦ X^{2}.

Now, we need to lift this action to P_{1}.

y∂_{1}(1) = yX = −X,

and the preimage of −X under ∂_{1} is −1. Hence y acts on P_{1} via

1 ↦ −1, X ↦ X, and X^{2} ↦ −X^{2}.

Now, we lift this action to P_{2}.

y∂_{2}(1) = yX^{2} = −X^{2},

and the preimage of −X^{2} under ∂_{2} is −1. Hence y acts on P_{2} via

1 ↦ −1, X ↦ X, and X^{2} ↦ −X^{2}.

Therefore, if y^{∗} is the induced map on the cohomology ring, then y^{∗}(a_{1}) = −a_{1}, and y^{∗}(b_{2}) = −b_{2}. Thus, we get the following result

H^{∗}(G, 𝔽_{3}) = 𝔽_{3}[c_{3}, d_{4}]/(c_{3}^{2}),

where res_{G,P} (c_{3}) = a_{1}b_{2}, and res_{G,P} (d_{4}) = b_{2}^{2}.

Chapter 4 Rings of Invariants

Let G denote a finite group with a T.I. Sylow p-subgroup, P, let k denote a field of characteristic p, let N = N_{G}(P), and let H = N/P. In this chapter, an overview will be given of the MAGMA programs written to compute the action of H on H^{∗}(P, k) and the invariant ring H^{∗}(P, k)^{H}. Also included is a description of the various data structures being used. These programs can be found in the appendix. The MAGMA script used to do the calculation of H^{∗}(P, k) using Carlson’s programs is

resin := ResolutionInput(P,k);
pror := ProjectiveResolution(triv,resin,num);
acm := AllChainMaps(pror);
rels := CohomologyRelations(pror,acm);

resin consists of 1. the standard free module kP,

2. a list of matrices giving the action on kP of a minimal list of generators of P,

3. a list of matrices giving the action an kP of a set of PC-generators of P,

4. the charateristic of k,

5. the group P, and

6. a list of PC-generators of P. triv is the trivial kP -module. num is the desired length of the projective resolution. pror consists of

1. A list of ranks of the projective modules in the resolution, and

2. A large matrix containing the minimal boundary homomorphism data. acm consists of

1. A large matrix containing the minimal data to construct all the chain maps,

2. The sizes of the submatrices of the above matrix that contain the chain map data for the generators of H^{∗}(P, k) (this information allows us to locate the appropriate chain map in the above matrix),

3. A list of degrees of the generators of H^{∗}(P, k), and

4. A list of indices for the generators of H^{∗}(P, k). rels consists of

1. A list of monomials that generate the vector spaces H^{n}(P, k),

2. A polynomial ring in the generators of H^{∗}(P, k),

3. A list of relations recorded as a list of elements in the polynomial ring in 2.,

4. A minimal basis for the above ideal, and

5. A list of all the relations.

4.1 The Action of H

The first step is to run the PPrimeChainMap program that constructs the chain map generated by the action of H on P. Next, we run the NormalizePPrimeAction program that creates a “nicer” generating set of H^{∗}(P, k) with respect to this action. We construct the chain maps corresponding to the new generators by running the NewGeneratorChainMap program. Finally, we run the NewCohomologyRelations program to compute the ideal of relations in terms of the new generators. A description of these programs follows.

PPrimeChainMap

The first program computes the chain maps induced by the action of H on P. We input the projective resolution data, a list of automorphisms of P corresponding to each generator of H, and the isomorphism between P and its corresponding PCgroup.

First, we create the matrices of the action on kP induced by each automorphism of P. Again, we use the standard representation of kP that is defined in the calculation of H^{∗}(P, k). Since kP ≅ P_{0}, the first projective module in the resolution of k, each matrix representing an action on kP is also a kP -homomorphism P_{0} → P_{0}. We can lift this homomorphism to a chain map using the same procedure to lift cohomology elements in the AllChainMaps program. Furthermore, as in the AllChainMaps program, we record the images of only the free kP -basis elements for each P_{n}. We can then use the standard representation of kP to create the full chain map. Unlike the AllChainMaps program, instead of recording the chain map data in one large matrix, this program returns a list of matrices, one for each homomorphism P_{i} → P_{i}. The program creates the chain map for each generator of H, hence it actually returns a list of lists of matrices.

NormalizePPrimeAction

The next program “normalizes” the action of H on H^{∗}(P, k). That is, it computes a new set of generators of H^{∗}(P, k) through which we can describe the action of H with matrices. More precisely, we compute a set of generators, z_{1}, …, z_{m}, with the property that for each h ∈ H and for each i, 1 ≤ i ≤ m,

h^{∗}(z_{i}) = ∑_{j=1}^{m} λ_{i,j}^{h}z_{j},

where λ_{i,j}^{h} ∈ k and h^{∗} is the action on H^{∗}(P, k) induced by h. This property ensures that the image under h^{∗} of each generator does not involve products of elements of lower degree, and therefore we can define matrices that decribe the actions of the generators of H. The set of generators of H^{∗}(P, k) computed using Carlson’s programs does not necessarily have this property. However, the fact that p does not divide the order of H guarantees that such a set can be found, and the proof of the following proposition tells us how to construct it.

Proposition 7. Let G be a finite group, let k be a field such that |G| is invertible in k, and let A be a finitely generated graded k-algebra, with generating set S. Let a_{1}, …, a_{m} denote the elements of S in degree n, for some n ∈ ℕ. Suppose further that there is a G-action on A that preserves degrees. Then A has a generating set whose elements c_{1}, …, c_{m}, in degree n have the following property: for all g ∈ G,

gc_{i} = ∑_{j=1}^{m} λ_{i,j}^{g}c_{j},

where each λ_{i,j}^{g} ∈ k.

Proof. Let g ∈ G. Then

ga_{i} = ∑_{j=1}^{m} λ_{i,j}^{g}a_{j} + ∑ μ_{k}^{g}b_{k},

where the b_{k}’s are products of two or more elements in S with degree < n. Let

B^{n} = ∑_{j=1}^{n−1} A^{j}A^{n−j},

and let ā_{1}, …, ā_{n} be a k-basis for the quotient space A^{n}/B^{n} such that

gā_{i} = ∑_{j=1}^{m} λ_{i,j}^{g}ā_{j}.

Let σ : A^{n}/B^{n} → A^{n} be the k-linear map sending ā_{i} to a_{i}. Then define

c_{i} = \frac{1}{|G|} ∑_{g∈G} g(σ(g^{−1}ā_{i})).

Now, we check that the c_{i}’s have the desired property. Let x ∈ G.

xc_{i} = \frac{1}{|G|} ∑_{g∈G}(xg)(σ((xg)^{−1}xā_{j}))
= ∑_{j=1}^{m} λ_{i,j}^{x} \frac{1}{|G|} ∑_{xg∈G}(xg)(σ((xg)^{−1}ā_{j}))
= ∑_{j=1}^{m} λ_{i,j}^{x}c_{j}.

Let y_{1}, …, y_{m} be the generators of H^{∗}(P, k) computed using Carlson’s programs. Then applying the above proposition to H^{∗}(P, k), one obtains a set of generators z_{1}, …, z_{m} with the desired property. The NormalizePPrimeAction program computes these elements. The program returns a list of the z_{i}’s as polynomials in the y_{i}’s, and a list of the z_{i}’s as elements of the vector spaces H^{n_{i}}(P, k), where n_{i} is the degree of z_{i}.

NewGeneratorChainMaps

Now that we have a new set of generators we should compute the chain maps representing these elements. The NewGeneratorChainMaps program inputs the data returned by the NormalizePPrimeAction program. This data tells us how to express the new generators in terms of the old ones. From the AllChainMaps program we have a large matrix containing the data necessary to compute the chain maps for the old generators. Thus, the NewGeneratorChainMaps program begins by breaking apart that matrix in the appropriate places and constructs lists of matrices, one for each generator. That is, each generator y_{i} is represented by a list of matrices

[M_{1}, M_{2}, …, M_{r}],

such that each M_{j} is in Hom(P_{d_{i}+j−1}/R_{d_{i}+j−1}, P_{j−1}/R_{j−1}), where R_{k} = Rad P_{k} and d_{i} denotes the degree of y_{i}. The length r of the list depends on the number of steps that have been computed in the projective resolution. Hence, to compute the chain maps for the new generators, we need only multiply the lists of matrices according to how the new generators are expressed in terms of the old ones. That is, to compute the list of matrices representing y_{i}y_{j}, where y_{i} is represented by the list [M_{1}, …, M_{r_{i}}] and y_{j} is represented by the list [N_{1}, …, N_{r_{j}}], we create the list [M_{d_{j}+1}N_{1}, M_{d_{j}+2}N_{2}, …, M_{r_{i}}N_{r_{i}−d_{j}}]. This program returns the corresponding list for each of the new generators.

NewCohomologyRelations

This function inputs a list of chain maps (for our purposes, the ones representing the new generators) and computes the ideal of relations among the elements they represent. This function is very similar to Carlson’s relations program, except this program inputs the chain map data as lists of matrices and not in one large matrix.

By running the script below we create the chain map induced by the action of H, a new generating set on which the action of H is normalized, the chain maps representing these generators, and the relations among the new generators.

ppcm := PPrimeChainMap(pror,autlst,phi);
nl, tl := NormalizePPrimeAction(pror,acm,ppcm,rels);
ngcm := NewGeneratorChainMaps(pror,acm,rels,nl,tl);
newrels := NewCohomologyRelations(pror,acm,ngcm,pol);

pror, acm, and rels are the data structures created in the computation of H^{∗}(P, k). autlst is a list of automorphisms of P corresponding to the conjugation actions of the generators of H. phi is the isomorphism between P and its corresponding PC-group. ppcm is a list of chain maps induced by the actions of the generators of H. nl is a list of polynomials expressing the new generators in terms of the old ones. tl is a list of the new generators as elements in a vector space. ngm is a list of chain maps representing the new generators. pol is a polynomial ring in the new generators. newrels is the relations data for the new generators.

4.2 Invariants

At this point we are ready to compute the ring of invariants. MAGMA includes a package, developed by Gregor Kemper [14], for computing the invariant ring of a matrix group acting on a polynomial ring. Ideally, we would create the polynomial ring k[z_{1}, …, z_{m}] and the matrix group isomorphic to H given by the action of H on the generators z_{1}, …, z_{m} (for each h ∈ H, define a matrix with i, j-entry λ_{i,j}^{h}.) However, the z_{i}’s do not necessarily commute, and we have available in MAGMA an invariants package for commutative rings only. Therefore, if we applied this package to the polynomial ring in all the generators, we would get an incorrect answer. For instance, assuming the characteristic of k is odd, if an element in H acts by switching two odd degree elements, say x and y, then MAGMA would find that xy was an invariant, when actually it is not.

However, we can use MAGMA to compute the invariant ring of H acting on the subring of H^{∗}(P, k) consisting of all the even-degree elements. This subring, which we shall denote by H^{ev}(P, k), is commutative, so we can apply MAGMA’s invariants package. Then we use a theorem due to Evens [11, p. 92], that says that H^{∗}(G, k) is a finitely generated module over H^{ev}(G, k), to find the remaining invariants.

SubRingGeneratorChainMaps

First, we need to determine the elements that generate H^{ev}(P, k).

Lemma 8. H^{ev}(P, k) is generated by the even-degree generators of H^{∗}(P, k) plus all products of two odd-degree generators of H^{∗}(P, k).

Proof. Let α ∈ H^{ev}(P, k). α can be expressed as a polynomial in the generators of H^{∗}(P, k). Each monomial of α must be divisible by an even number of the odddegree generators, hence can be written as a monomial consisting of even-degree generators and products of two odd-degree generators.

After forming all the products of two odd-degree generators, we eliminate the ones that are zero in the cohomology ring or are polynomials in the other generators to get a minimal set of generators. After finding the generators of H^{ev}(P, k), we use the SubRingGeneratorChainMaps function to compute their chain maps. This function inputs a list of m-tuples that represent monomials in the z_{i}’s. That is, the monomial z_{1}^{α_{1}}z_{2}^{α_{2}} ⋯ z_{m}^{α_{m}} is represented by the m-tuple (α_{1}, α_{2}, , …, α_{m}). These tuples tell us how to combine the chain maps representing the z_{i}’s in order to get the ones representing the given monomials.

SubRingCohomologyRelations

This function inputs a list of tuples that represent monomials in the z_{i}’s and the chain maps representing these elements. Then, it run the same procedures as in the NewCohomologyRelations function to compute the ideal of relations among these elements.

PPrimeAction

After computing the generators and relations for H^{ev}(P, k), we can now compute the action of H on the generators. The PPrimeAction program inputs the chain maps corresponding to actions of the generators of H on P, a list of tuples representing monomials in the z_{i}’s, the chain maps representing these elements, and the relations among these elements. In order to compute how an element h in H acts on a cohomology element we multiply the chain map representing the action of h, as computed in the PPrimeChainMap program, with the chain map representing the cohomology element. This gives us another chain map, and we then determine which element in H^{ev}(P, k) it represents.

The following script can be used to compute the action of H on a subring of H^{∗}(P, k) (for example, on H^{ev}(P, k)).

srgcm := SubRingGeneratorChainMaps(pror,acm,ngcm,tlst);
srrels := SubRingCohomologyRelations(pror,acm,tlst,srgcm,srpol);
ppact := PPrimeAction(pror,acm,ppcm,tlst,srgcm,srrels);

pror and acm are the data structures created in the computation of H^{∗}(P, k). ngcm is the list of chain maps for the new generators, z_{1}, …, z_{n}, of H^{∗}(P, k). tlst is a list of tuples that correspond to monomials in the z_{i}’s. These monomials should generate the subring on which we wish to compute the action of H. srgcm is a list of chain maps for the monomials in tlst. srpol is a polynomial ring in the elements of tlst. srrels is the relations data for the elements of tlst. ppcm is the list of chain maps induced by the action of the generators of H. ppact is a list of the images of the monomials in tlst under the homomorphisms induced by the generators of H.

H^{ev}(P, k)^{H}

Next, we compute the group consisting of matrices giving the action of H on the generators of H^{ev}(P, k). Suppose that H^{ev}(P, k) is generated by l elements. Then MAGMA creates a polynomial ring R = k[x_{1}, …, x_{l}] and computes the subring Q of polynomials in R that are fixed by H. We would like to express H^{ev}(G, k) ≅ H^{ev}(P, k)^{H} as S/J, where S is a polynomial ring and J is an ideal in S. To start we need to find a set of generators for Q. In the case where H is solvable, we can use the following proposition due to Smith [17].

Proposition 9. Let ρ : G ↪ GL(n, 𝔽) be a faithful representation of the finite solvable group G over the field 𝔽 whose characteristic is prime to the order of G. Then 𝔽[V]^{G} is generated by elements of degree at most |G|.

MAGMA has a procedure that computes a basis for the space of invariants in each degree. If we run the procedure for degrees one through the order of H, then according to the previous proposition, we will have a generating set for Q. However, this set will not necessarily be a minimal generating set. To obtain a minimal set, we first remove the elements that map to zero under the homomorphism ψ, where ψ : R → H^{ev}(P, k) sends x_{i} to the i^{th} generator of H^{ev}(P, k). Then we run a MAGMA procedure that takes a set of elements in a polynomial ring and returns a minimal subset that generates the same subring as the original set. After running this procedure, we get a minimal set of generators of Q, none of which map to zero under ψ. Call this set I = {q_{1}, …, q_{t}}.

Consider the polynomial ring S = k[w_{1}, …, w_{t}], where the degree of w_{i} equals the degree of q_{i}. Let θ : S → H^{ev}(P, k) be defined by θ(w_{i}) = ψ(q_{i}). Then H^{ev}(G, k) is generated by the w_{i}’s and θ(w_{i}) = res_{G,P} (w_{i}). res_{G,P} is injective, so we get the following result.

Theorem 10. H^{ev}(G, k) is isomorphic to S/ker θ.

We use MAGMA to compute ker θ, and after doing so, we see that some of the generators of S may be written as polynomials in the remaining generators, modulo ker θ. Hence, we can further reduce the number of generators of H^{ev}(G, k).

Odd-degree Invariants

Now, we need to find the invariants of odd degree that generate H^{∗}(G, k) as a module over H^{ev}(G, k). To do so, we consider the subrings generated by the evendegree elements plus the generators of H^{∗}(P, k) of a certain degree. If y_{1}, …, y_{k} are the odd-degree generators of H^{∗}(P, k) of a certain degree, then we create the ring A generated by these elements plus the elements of even degree and with the additional relations y_{i}y_{j} = 0, for all 1 ≤ i, j ≤ k. In fact, many of these relations will already exist. A is commutative, so that we can apply MAGMA’s invariants package to find the invariants of H acting on A.

We now follow the same procedure that we used to compute H^{ev}(G, k). Suppose that A is generated by l_{1} elements. Form the group of l_{1} × l_{1} matrices which give the action of H on the generators of A, and let R_{1} be a polynomial ring over k of rank l_{1}. Let ψ_{1} be the map sending the i^{th} generator of R_{1} to the i^{th} generator of A, and let Q_{1} be the ring of invariants in R_{1} under the action of H. We use Smith’s proposition and MAGMA to obtain a minimal set, I_{1} = {p_{1}, …, p_{s}}, of generators for Q_{1}. Furthermore, I will be a subset of I_{1}.

Consider the polynomial ring S_{1} = k[v_{1}, …, v_{s}] where the degree of v_{i} equals the degree of p_{i}. Let θ_{1} : S_{1} → A be defined by θ_{1}(v_{i}) = ψ_{1}(p_{i}). The v_{i}’s generate A^{H}, so we have that A^{H} ≅ S_{1}/ker θ_{1}. We use MAGMA to compute ker θ_{1}, and then reduce the number of generators of S_{1}/ker θ_{1}. The odd-degree generators of A^{H} give us the generators of H^{∗}(G, k) of the form

y_{1}(element of H^{ev}(P, k)) + ⋯ + y_{k}(element of H^{ev}(P, k)).

Next, we repeat the previous procedure for each degree such that there exists an odd-degree generator of H^{∗}(P, k) of that degree, and we obtain a complete set of generators of H^{∗}(G, k). The last step is to determine the remaining relations, that is, the ones involving the odd-degree generators. However, since these elements do not commute, we cannot compute these relations as an ideal of a homomorphism between polynomial rings. Instead, we create the chain maps representing these elements (by expressing them as polynomials in the z_{i}’s), and then we run the SubRingCohomologyRelations program to get the relations.

Example: PSU(3,5)

Now, we apply the programs discussed in the previous chapters to calculate the mod-5 cohomology ring of the unitary group PSU(3,5), a group with order 126, 000 = 2^{4}3^{2}5^{3}7 and presentation

< a, b | a^{3} = b^{5} = (ab)^{7} = (ab^{−1})^{7} = aba^{−1}bab^{2}a^{−1}baba^{−1}b^{2} = 1 > .

Using the Atlas [9] notation, the Sylow 5-subgroups of PSU(3,5) are isomorphic to 5^{1+2}, the extraspecial 5-group of order 5^{3} and exponent 5. PSU(3,5) has a T. I. Sylow 5-subgroup, P. H = N_{G}(P)/P is a cyclic group of order 8. P has presentation

< A, B, C | A^{5} = B^{5} = C^{5} = 1, B^{A} = BC, AC = CA, BC = CB >,

and H has a generator h which acts as follows:

A ↦ B^{2}C, B ↦ A^{3}C, C ↦ C^{3}

5.1 The Cohomology of P

In [16], Leary computes the mod-p cohomology rings of extraspecial p-groups of exponent p. However, we will implement Carlson’s MAGMA programs that compute the mod-p cohomology of a p-group. Then we run the programs that compute a new generating set for H^{∗}(P, 𝔽_{5}) that “normalizes” the action of H. After computing the relations among the new generators, we get Proposition 11. H^{∗}(P, 𝔽_{5}) is generated by the elements z, y, x, w, v, u, t, s, r, q, p, n in degrees 1,1,2,2,2,2,3,3,7,8,9,10, respectively, subject to the following relations:

z^{2}, zy, y^{2}, yx + 4zu, zv + yw, yv, zw, xv + 4yt + 2zs, vu + ys, v^{2}, xw + zt,

wu + 2yt + 4zs, wv, w^{2}, ut + 4xs, vt + ws, wt, vs, t^{2}, s^{2}, zr, yr, zx^{3}u + ur + 2yq, zx^{2}u^{2} + 2xr + 4ur + 4zq + 4yq, zxu^{3} + 3xr + 3ur + 3zq + yq,

zu^{4} + xr + 2zq, vr, wr, x^{4}u + 3x^{2}u^{3} + xu^{4} + xq,

x^{3}u^{2} + 2x^{2}u^{3} + 2xu^{4} + 4xq + uq, zx^{3}t + 2tr + 4zp, zx^{3}s + 4sr + 3vq,

zx^{2}us + 3tr + sr + vq + wq, zxu^{2}s + 2tr + 2sr + 2wq + 4vq, zu^{3}s + 4tr + 3wq,

yu^{3}s + 2sr + 4yp, x^{4}t + 2xu^{3}s + 4tq + 4xp, x^{4}s + 3u^{4}s + 2sq + 2up, x^{3}us + 3xu^{3}s + 2u^{4}s + 4sq + 3up, x^{2}u^{2}s + 2xu^{3}s + 4u^{4}s + 2tq + sq + up,

vp, wp, tp, sp, r^{2}, yu^{3}q + 3rq, u^{4}q + 3q^{2}, rp, qp, p^{2}.

Furthermore, the action of h on H^{∗}(P, 𝔽_{5}) is given as follows:

hz = 3y, hy = 4z, hx = 3u, hw = 4v, hv = 2w, hu = 4x,
ht = 4s, hs = 2t, hr = r, hq = q, hp = 3p, hn = 3n.

5.2 H^{ev}(G, 𝔽_{5})

Now, we use MAGMA to compute invariants of H acting on H^{ev}(P, 𝔽_{5}). First of all,

Lemma 12. H^{ev}(P, 𝔽_{5}) is generated by x, w, v, u, ts, q, n and the generator h of H acts via hx = 3w, hw = 4x, hv = 2u, hu = 4v, hts = 2ts, hq = q, and hn = 3n.

Proof. H^{ev}(P, 𝔽_{5}) is generated by x, w, v, u, q, n and by the products of two of the elements z, y, t, s, r, p. The only such product that is nonzero and that cannot be expressed as a polynomial over the even-degree generators is ts. The action of h has already been computed. Note that hts = 3st = 2ts.

Now, think of H as the subgroup of GL(7, 𝔽_{5}) generated by the matrix

(\begin{matrix}0 & 0 & 0 & 3 & 0 & 0 & 0 \\ 0 & 0 & 4 & 0 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 & 0 & 0 & 0 \\ 4 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 2 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 3 \end{matrix}) .

We compute the invariant ring of this matrix group and then follow the procedure discussed in Section 4.2 to express H^{ev}(P, 𝔽_{5})^{H} as S/J, where S is a polynomial ring and J is an ideal in S. We get

Proposition 13. H^{ev}(G, 𝔽_{5}) is generated by elements η_{i}, 1 ≤ i ≤ 12, where

res_{G,P} (η_{1}) = q, res_{G,P} (η_{2}) = xw + 2vu, res_{G,P} (η_{3}) = xv + wu,
res_{G,P} (η_{4}) = tsn, res_{G,P} (η_{5}) = x^{2}n + 2u^{2}n, res_{G,P} (η_{6}) = xun,
res_{G,P} (η_{7}) = x^{4} + u^{4}, res_{G,P} (η_{8}) = x^{3}u + 3xu^{3}, res_{G,P} (η_{9}) = xwn^{2} + 3vun^{2},
res_{G,P} (η_{10}) = xvvn^{2} + 4wun^{2}, res_{G,P} (η_{11}) = n^{4}, res_{G,P} (η_{12}) = x^{2}n^{3} + 3u^{2}n^{3}

subject to the following relations

η_{2}^{2}, η_{2}η_{3}, η_{3}^{2}, η_{1}η_{2} + η_{2}η_{8} + η_{3}η_{8}, η_{1}η_{3} + η_{2}η_{8} + η_{3}η_{8},
η_{3}η_{7} + 3η_{2}η_{8}, η_{1}^{2} + 4η_{7}η_{8} + 3η_{8}^{2}, η_{1}η_{7} + η_{7}η_{8} + 2η_{8}^{2},
η_{1}η_{8} + 3η_{7}η_{8} + η_{8}^{2}, η_{3}η_{5} + 3η_{2}η_{6}, η_{2}η_{4}, η_{3}η_{4}, η_{1}η_{5} + η_{5}η_{8} + 2η_{6}η_{8},
η_{1}η_{6} + 3η_{5}η_{8} + η_{6}η_{8}, η_{6}η_{7} + 4η_{5}η_{8}, η_{1}η_{4}, η_{4}η_{7}, η_{4}η_{8}, η_{2}η_{9},
η_{3}η_{9}, η_{2}η_{10}, η_{3}η_{10}, η_{4}η_{5}, η_{4}η_{6},

η_{2}η_{5}^{2} + η_{1}η_{9} + 4η_{7}η_{9} + η_{8}η_{9}, η_{2}η_{5}η_{6} + η_{8}η_{9},

η_{3}η_{6}^{2} + 3η_{8}η_{9}, η_{2}η_{6}^{2} + 2η_{1}η_{9} + 2η_{8}η_{9}, η_{4}^{2}, η_{1}η_{10},
η_{7}η_{10}, η_{8}η_{10}, η_{5}η_{10}, η_{6}η_{10}, η_{5}η_{9} + 4η_{2}η_{12}, η_{6}η_{9} + 2η_{3}η_{12},
η_{4}η_{9}, η_{4}η_{10}, η_{5}^{3} + η_{1}η_{12} + 4η_{7}η_{12} + η_{8}η_{12}, η_{5}^{2}η_{6} + η_{8}η_{12},
η_{5}η_{6}^{2} + 2η_{1}η_{12} + 2η_{8}η_{12}, η_{6}^{3} + 4η_{8}η_{12}, η_{9}^{2}, η_{9}η_{10}, η_{10}^{2},
η_{7}η_{11} + 4η_{5}η_{12}, η_{8}η_{11} + 4η_{6}η_{12}, η_{4}η_{12},
η_{2}η_{5}η_{11} + η_{3}η_{6}η_{11} + 4η_{9}η_{12}, η_{10}η_{12}, η_{5}^{2}η_{11} + 2η_{6}^{2}η_{11} + 4η_{12}^{2}.

5.3 Elements of odd degree

Now, we need to find the invariants of odd degree that generate H^{∗}(G, 𝔽_{5}) as a module over H^{ev}(G, 𝔽_{5}). To do this we compute the invariants in certain commutative subrings of H^{∗}(P, 𝔽_{5}), and then determine how these subrings fit together. The first subring we consider is the one generated by the elements z, y, x, w, v, u, ts, q, and n. Call this subring A_{1}. It is commutative since z^{2} = zy = y^{2} = 0. We will follow the same procedure that we used to compute H^{ev}(G, 𝔽_{5}).

First, think of H as the subgroup of GL(8, 𝔽_{5}) generated by the matrix

(\begin{matrix}0 & 3 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 3 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 4 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 2 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 4 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 2 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 3 \end{matrix}) ,

and we compute A_{1}^{H}. Proposition 14. The invariant ring of H acting on A_{1} is generated by η_{i}, 1 ≤ i ≤ 12, and ζ_{j}, 1 ≤ j ≤ 6, where the η’s are defined as before and

res_{G,P} (ζ_{1}) = zxn + 2yun, res_{G,P} (ζ_{2}) = yxn + zun, res_{G,P} (ζ_{3}) = zx^{3} + yu^{3},

res_{G,P} (ζ_{4}) = zx^{2}u + 3yxu^{2}, res_{G,P} (ζ_{5}) = zvn^{2} + 4ywn^{2},
res_{G,P} (ζ_{6}) = zxn^{3} + 3yun^{3}.

The relations involving only the η’s are as before, and the remaining relations are

ζ_{i}ζ_{j}, 1 ≤ i ≤ j ≤ 6,
η_{2}ζ_{3}, η_{3}ζ_{3}, η_{2}ζ_{4}, η_{3}ζ_{4}, η_{1}ζ_{3} + η_{8}ζ_{3} + 2η_{8}ζ_{4},
η_{1}ζ_{4} + 3η_{8}ζ_{3} + η_{8}ζ_{4}, η_{7}ζ_{4} + 4η_{8}ζ_{3}, η_{2}ζ_{1}, η_{3}ζ_{1}, η_{2}ζ_{2}, η_{3}ζ_{2},
η_{1}ζ_{1} + η_{8}ζ_{1} + η_{8}ζ_{2}, η_{1}ζ_{2} + η_{8}ζ_{1} + η_{8}ζ_{2}, η_{5}ζ_{3} + 4η_{7}ζ_{1}, η_{6}ζ_{3} + 4η_{8}ζ_{1},
η_{5}ζ_{4} + 4η_{8}ζ_{1}, η_{6}ζ_{4} + 2η_{8}ζ_{2}, η_{7}ζ_{2} + 3η_{8}ζ_{1}, η_{4}ζ_{3}, η_{4}ζ_{4},
η_{5}ζ_{2} + 3η_{6}ζ_{1}, η_{2}ζ_{5}, η_{3}ζ_{5}, η_{4}ζ_{1}, η_{4}ζ_{2}, η_{1}ζ_{5}, η_{7}ζ_{5}, η_{8}ζ_{5},
η_{9}ζ_{3}, η_{9}ζ_{4}, η_{10}ζ_{3}, η_{10}ζ_{4}, η_{5}ζ_{5}, η_{6}ζ_{5}, η_{9}ζ_{1}, η_{9}ζ_{2},

η_{10}ζ_{1}, η_{10}ζ_{2}, η_{2}ζ_{6}, η_{3}ζ_{6}, η_{4}ζ_{5}, η_{5}^{2}ζ_{1} + η_{1}ζ_{6} + 4η_{12}ζ_{3} + η_{12}ζ_{4},

η_{5}η_{6}ζ_{1} + η_{12}ζ_{4}, η_{6}^{2}ζ_{1} + 2η_{1}ζ_{6} + 2η_{12}ζ_{4}, η_{6}^{2}ζ_{2} + 3η_{12}ζ_{4},
η_{7}ζ_{6} + 4η_{12}ζ_{3}, η_{8}ζ_{6} + 4η_{12}ζ_{4}, η_{9}ζ_{5}, η_{10}ζ_{5}, η_{11}ζ_{3} + 4η_{12}ζ_{1},
η_{11}ζ_{4} + 2η_{12}ζ_{2}, η_{5}ζ_{6} + 4η_{12}ζ_{1}, η_{6}ζ_{6} + 2η_{12}ζ_{2}, η_{4}ζ_{6},
η_{9}ζ_{6}, η_{10}ζ_{6}, η_{12}ζ_{5}, η_{5}η_{11}ζ_{1} + η_{6}η_{11}ζ_{2} + 4η_{12}ζ_{6}.

Next, we follow the previous procedure to compute the invariant rings of H acting on the following rings:

A_{2} = the ring generated by x, w, v, u, t, s, q, n.

with the additional relation ts = 0.

A_{3} = the ring generated by x, w, v, u, ts, r, q, n.
A_{4} = the ring generated by x, w, v, u, ts, q, p, n.

Remark. We make the assumption that ts = 0, so that A_{2} will be commutative; otherwise, ts = −st. We can make this assumption since we are only interested in the invariants of the form

t(something of even degree) + s(something of even degree).

ts ∈ H^{ev}(P, 𝔽_{5}), and we have already computed H^{ev}(P, 𝔽_{5})^{H}.

The results are

Proposition 15. The invariant ring of H acting on A_{2} is generated by η_{i}, 1 ≤ i ≤ 12, and τ_{j}, 1 ≤ j ≤ 4, where the η’s are defined as before and

res_{G,P} (τ_{1}) = xt + 2us, res_{G,P} (τ_{2}) = ut + xs,
res_{G,P} (τ_{3}) = 4vtn + wsn, res_{G,P} (τ_{4}) = xtn^{2} + 3usn^{2},

The relations involving only the η’s are as before with the exception, that η_{4} = 0, and the remaining relations are

τ_{i}τ_{j}, 1 ≤ i ≤ j ≤ 4,
η_{2}τ_{1}, η_{3}τ_{1}, η_{2}τ_{2}, η_{3}τ_{2}, η_{1}τ_{1} + η_{8}τ_{1} + η_{8}τ_{2}, η_{1}τ_{2} + η_{8}τ_{1} + η_{8}τ_{2},

η_{7}τ_{2} + 3η_{8}τ_{1}, η_{8}τ_{3} η_{5}τ_{2} + 3η_{6}τ_{1}, η_{2}τ_{3}, η_{3}τ_{3}, η_{1}τ_{3}, η_{5}τ_{3}, eta_{6}τ_{3}, η_{7}τ_{3}, η_{9}τ_{1}, η_{9}τ_{2},

η_{10}τ_{1}, η_{10}τ_{2}, η_{2}τ_{4}, η_{3}τ_{4}, η_{5}^{2}τ_{1} + η_{1}τ_{4} + 4η_{7}τ_{4} + η_{8}τ_{4},

η_{5}η_{6}τ_{1} + η_{8}τ_{4}, η_{6}^{2}τ_{1} + 2η_{1}τ_{4} + 2η_{8}τ_{4}, η_{6}^{2}τ_{2} + 3η_{8}τ_{4}, η_{9}τ_{3}, η_{10}τ_{3},

η_{5}τ_{4} + 4η_{12}τ_{1}, η_{6}τ_{4} + 2η_{12}τ_{2}, η_{9}τ_{4}, η_{10}τ_{4}, η_{12}τ_{3}, η_{5}η_{11}τ_{1} + η_{6}η_{11}τ_{2} + 4η_{12}τ_{4}.

Proposition 16. The invariant ring of H acting on A_{3} is generated by η_{i}, 1 ≤ i ≤ 12, and ρ, where the η’s are defined as before and res_{G,P} (ρ) = r. The relations involving only the η′s are as before, and the remaining relations are

η_{2}ρ, η_{3}ρ, ρ^{2}, η_{1}ρ + 3η_{7}ρ + η_{8}ρ, η_{4}ρ, η_{9}ρ, η_{10}ρ, η_{5}^{2}ρ + η_{6}^{2}ρ.

Proposition 17. The invariant ring of H acting on A_{4} is generated by η_{i}, 1 ≤ i ≤ 12, and π_{j}, 1 ≤ j ≤ 4, where the η’s are defined as before and

res_{G,P} (π_{1}) = x^{2}p + 2u^{2}p, res_{G,P} (π_{2}) = xup,
res_{G,P} (π_{3}) = pn^{3}, res_{G,P} (π_{4}) = x^{2}pn^{2} + 3u^{2}pn^{2},

The relations involving only the η′s are as before, and the remaining relations are

π_{i}π_{j}, 1 ≤ i ≤ j ≤ 4,
η_{2}π_{1}, η_{3}π_{1}, η_{2}π_{2}, η_{3}π_{2}, η_{1}π_{1}, η_{1}π_{2}, η_{7}π_{2} + 2η_{8}π_{2}, η_{8}π_{1} + 2η_{8}π_{2},
η_{5}π_{2} + 2η_{6}π_{2}, η_{6}π_{1} + 2η_{6}π_{2}, η_{4}π_{1}, η_{4}π_{2}, η_{9}π_{1}, η_{9}π_{2}, η_{10}π_{1}, η_{10}π_{2},
η_{2}π_{4}, η_{3}π_{4}, η_{5}^{2}π_{1} + 4η_{7}π_{4} + η_{8}π_{4}, η_{6}^{2}π_{2} + 4η_{8}π_{4}, η_{1}π_{4}, η_{2}π_{3}, η_{3}π_{3}, η_{1}π_{3},

η_{7}π_{3} + 4η_{12}π_{1}, η_{8}π_{3} + 4η_{12}π_{2}, η_{5}π_{4} + 4η_{12}π_{1}, η_{6}π_{4} + 4η_{12}π_{2},

η_{4}π_{4}, η_{5}π_{3} + 4η_{11}π_{1}, η_{6}π_{3} + 4η_{11}π_{2}, η_{4}π_{3}, η_{9}π_{4}, η_{10}π_{4},
η_{9}π_{3}, η_{10}π_{3}, η_{5}η_{11}π_{1} + 2η_{6}η_{11}π_{2} + 4η_{12}π_{4}, η_{11}π_{4} + 4η_{12}π_{3}.

What remains is to compute the relations involving the ζ’s, the τ’s, ρ, and the π’s. To compute these relations, we create the list of matrices representing these elements and input this data into the SubRingCohomologyRelations program. Three of the relations we find allow us to reduce the number of generators. They are

π_{1} + η_{1}τ_{1} + 4η_{7}τ_{1} + 4η_{8}τ_{1}, π_{2} + 2η_{1}τ_{1} + η_{8}τ_{2}, π_{4} + 2η_{1}τ_{4} + 4η_{7}τ_{4} + 3η_{8}τ_{4}

Now we can describe the cohomology ring of PSU(3,5).

Theorem 18. H^{∗}(G, 𝔽_{5}) is generated by η_{i}, 1 ≤ i ≤ 12; ζ_{j}, 1 ≤ j ≤ 6; τ_{k}, 1 ≤ k ≤ 4; ρ; and π. The following table describes the degrees of these generators and their images under res_{G,P}.

Generator Degree Image in H^{∗}(P, 𝔽_{5})
η_{1}  8  q
η_{2}  4  xw + 2vu
η_{3}  4  xv + wu
η_{4}  16  tsn
η_{5}  14  x^{2}n + 2u^{2}n
η_{6}  14  xun
η_{7}  8  x^{4} + u^{4}
η_{8}  8  x^{3}u + 3xu^{3}
η_{9}  24  xwn^{2} + 3vun^{2}
η_{10}  24  xvn^{2} + 4wun^{2}
η_{11}  40  n^{4}
η_{12}  34  x^{2}n^{3} + 3u^{2}n^{3}
ζ_{1}  13  zxn + 2yun
ζ_{2}  13  yxn + zun
ζ_{3}  7  zx^{3} + yu^{3}
ζ_{4}  7  zx^{2}u + 3yxu^{2}
ζ_{5}  23  zvn^{2} + 4ywn^{2}
ζ_{6}  33  zxn^{3} + 3yun^{3}
τ_{1}  5  xt + 2us
τ_{2}  5  ut + xs
τ_{3}  15  4vtn + wsn
τ_{4}  25  xtn^{2} + 3usn^{2}
ρ  7  r
π  39  pn^{3}

These generators are subject to the following relations

η_{2}^{2}, η_{2}η_{3}, η_{3}^{2}, η_{1}η_{2} + η_{2}η_{8} + η_{3}η_{8}, η_{1}η_{3} + η_{2}η_{8} + η_{3}η_{8}, η_{3}η_{7} + 3η_{2}η_{8}, η_{1}^{2} + 4η_{7}η_{8} + 3η_{8}^{2}, η_{1}η_{7} + η_{7}η_{8} + 2η_{8}^{2},

η_{1}η_{8} + 3η_{7}η_{8} + η_{8}^{2}, η_{3}η_{5} + 3η_{2}η_{6}, η_{2}η_{4}, η_{3}η_{4}, η_{1}η_{5} + η_{5}η_{8} + 2η_{6}η_{8},

η_{1}η_{6} + 3η_{5}η_{8} + η_{6}η_{8}, η_{6}η_{7} + 4η_{5}η_{8}, η_{1}η_{4}, η_{4}η_{7}, η_{4}η_{8}, η_{2}η_{9},

η_{3}η_{9}, η_{2}η_{10}, η_{3}η_{10}, η_{4}η_{5}, η_{4}η_{6}, η_{2}η_{5}^{2} + η_{1}η_{9} + 4η_{7}η_{9} + η_{8}η_{9}, η_{2}η_{5}η_{6} + η_{8}η_{9},

η_{3}η_{6}^{2} + 3η_{8}η_{9}, η_{2}η_{6}^{2} + 2η_{1}η_{9} + 2η_{8}η_{9}, η_{4}^{2}, η_{1}η_{10}, η_{7}η_{10}, η_{8}η_{10}, η_{5}η_{10}, η_{6}η_{10}, η_{5}η_{9} + 4η_{2}η_{12}, η_{6}η_{9} + 2η_{3}η_{12}, η_{4}η_{9}, η_{4}η_{10}, η_{5}^{3} + η_{1}η_{12} + 4η_{7}η_{12} + η_{8}η_{12}, η_{5}^{2}η_{6} + η_{8}η_{12}, η_{5}η_{6}^{2} + 2η_{1}η_{12} + 2η_{8}η_{12}, η_{6}^{3} + 4η_{8}η_{12}, η_{9}^{2}, η_{9}η_{10}, η_{10}^{2},

η_{7}η_{11} + 4η_{5}η_{12}, η_{8}η_{11} + 4η_{6}η_{12}, η_{4}η_{12},

η_{2}η_{5}η_{11} + η_{3}η_{6}η_{11} + 4η_{9}η_{12}, η_{10}η_{12}, η_{5}^{2}η_{11} + 2η_{6}^{2}η_{11} + 4η_{12}^{2}.

ζ_{i}ζ_{j}, 1 ≤ i ≤ j ≤ 6,

η_{2}ζ_{3}, η_{3}ζ_{3}, η_{2}ζ_{4}, η_{3}ζ_{4}, η_{1}ζ_{3} + η_{8}ζ_{3} + 2η_{8}ζ_{4}, η_{1}ζ_{4} + 3η_{8}ζ_{3} + η_{8}ζ_{4}, η_{7}ζ_{4} + 4η_{8}ζ_{3}, η_{2}ζ_{1}, η_{3}ζ_{1}, η_{2}ζ_{2}, η_{3}ζ_{2},

η_{1}ζ_{1} + η_{8}ζ_{1} + η_{8}ζ_{2}, η_{1}ζ_{2} + η_{8}ζ_{1} + η_{8}ζ_{2}, η_{5}ζ_{3} + 4η_{7}ζ_{1}, η_{6}ζ_{3} + 4η_{8}ζ_{1}, η_{5}ζ_{4} + 4η_{8}ζ_{1}, η_{6}ζ_{4} + 2η_{8}ζ_{2}, η_{7}ζ_{2} + 3η_{8}ζ_{1}, η_{4}ζ_{3}, η_{4}ζ_{4}, η_{5}ζ_{2} + 3η_{6}ζ_{1}, η_{2}ζ_{5}, η_{3}ζ_{5}, η_{4}ζ_{1}, η_{4}ζ_{2}, η_{1}ζ_{5}, η_{7}ζ_{5}, η_{8}ζ_{5},

η_{9}ζ_{3}, η_{9}ζ_{4}, η_{10}ζ_{3}, η_{10}ζ_{4}, η_{5}ζ_{5}, η_{6}ζ_{5}, η_{9}ζ_{1}, η_{9}ζ_{2}, η_{10}ζ_{1}, η_{10}ζ_{2}, η_{2}ζ_{6}, η_{3}ζ_{6}, η_{4}ζ_{5}, η_{5}^{2}ζ_{1} + η_{1}ζ_{6} + 4η_{12}ζ_{3} + η_{12}ζ_{4},

η_{5}η_{6}ζ_{1} + η_{12}ζ_{4}, η_{6}^{2}ζ_{1} + 2η_{1}ζ_{6} + 2η_{12}ζ_{4}, η_{6}^{2}ζ_{2} + 3η_{12}ζ_{4}, η_{7}ζ_{6} + 4η_{12}ζ_{3}, η_{8}ζ_{6} + 4η_{12}ζ_{4}, η_{9}ζ_{5}, η_{10}ζ_{5}, η_{11}ζ_{3} + 4η_{12}ζ_{1}, η_{11}ζ_{4} + 2η_{12}ζ_{2}, η_{5}ζ_{6} + 4η_{12}ζ_{1}, η_{6}ζ_{6} + 2η_{12}ζ_{2}, η_{4}ζ_{6},

η_{9}ζ_{6}, η_{10}ζ_{6}, η_{12}ζ_{5}, η_{5}η_{11}ζ_{1} + η_{6}η_{11}ζ_{2} + 4η_{12}ζ_{6}.

τ_{i}τ_{j}, 1 ≤ i ≤ j ≤ 4,

η_{2}τ_{1}, η_{3}τ_{1}, η_{2}τ_{2}, η_{3}τ_{2}, η_{1}τ_{1} + η_{8}τ_{1} + η_{8}τ_{2}, η_{1}τ_{2} + η_{8}τ_{1} + η_{8}τ_{2},

η_{7}τ_{2} + 3η_{8}τ_{1}, η_{8}τ_{3} η_{5}τ_{2} + 3η_{6}τ_{1}, η_{2}τ_{3}, η_{3}τ_{3}, η_{1}τ_{3}, η_{5}τ_{3}, eta_{6}τ_{3}, η_{7}τ_{3}, η_{9}τ_{1}, η_{9}τ_{2},

η_{10}τ_{1}, η_{10}τ_{2}, η_{2}τ_{4}, η_{3}τ_{4}, η_{5}^{2}τ_{1} + η_{1}τ_{4} + 4η_{7}τ_{4} + η_{8}τ_{4},

η_{5}η_{6}τ_{1} + η_{8}τ_{4}, η_{6}^{2}τ_{1} + 2η_{1}τ_{4} + 2η_{8}τ_{4}, η_{6}^{2}τ_{2} + 3η_{8}τ_{4}, η_{9}τ_{3}, η_{10}τ_{3},

η_{5}τ_{4} + 4η_{12}τ_{1}, η_{6}τ_{4} + 2η_{12}τ_{2}, η_{9}τ_{4}, η_{10}τ_{4}, η_{12}τ_{3}, η_{5}η_{11}τ_{1} + η_{6}η_{11}τ_{2} + 4η_{12}τ_{4}.

η_{2}ρ, η_{3}ρ, ρ^{2}, η_{1}ρ + 3η_{7}ρ + η_{8}ρ, η_{4}ρ, η_{9}ρ, η_{10}ρ, η_{5}^{2}ρ + η_{6}^{2}ρ,

π^{2}, η_{1}π, η_{2}π, η_{3}π, η_{4}π, η_{5}π + η_{11}(η_{1}τ_{1} + 4η_{7}τ_{1} + 4η_{8}τ_{1}),

η_{6}π_{3} + 4η_{11}π_{2}, η_{7}π + η_{12}(η_{1}τ_{1} + 4η_{7}τ_{1} + 4η_{8}τ_{1}),

η_{8}π + η_{12}(2η_{1}τ_{1} + η_{8}τ_{2}), η_{9}π, η_{10}π, η_{11}(3η_{1}τ_{4} + η_{7}τ_{4} + 2η_{8}τ_{4}) + 4η_{12}π,

ζ_{1}τ_{1} + η_{2}η_{5}, ζ_{1}τ_{2} + η_{3}η_{5}, ζ_{2}τ_{1} + 4ζ_{1}τ_{2}, ζ_{2}τ_{2} + 2η_{3}η_{6},

ζ_{1}τ_{3}, ζ_{2}τ_{3}, ζ_{1}τ_{4} + η_{5}η_{9}, ζ_{2}τ_{4} + 2η_{6}η_{9},

ζ_{3}τ_{1} + η_{2}η_{7}, ζ_{3}τ_{2} + η_{3}η_{7}, ζ_{4}τ_{1} + η_{2}η_{8}, ζ_{4}τ_{2} + η_{3}η_{8},

ζ_{3}τ_{3}, ζ_{4}τ_{3}, ζ_{3}τ_{4} + η_{7}η_{9}, ζ_{4}τ_{4} + η_{8}η_{9},
ζ_{5}τ_{i}, 1 ≤ i ≤ 4

ζ_{6}τ_{1} + 4ζ_{1}τ_{4}, ζ_{6}τ_{2} + 4ζ_{2}τ_{4}, ζ_{6}τ_{3}, ζ_{6}τ_{4} + η_{9}η_{12},

ζ_{i}ρ, 1 ≤ i ≤ 6,

τ_{1}ρ + 4η_{3}η_{7} + 4η_{3}η_{8}, τ_{2}ρ + 2η_{3}η_{7} + 3η_{3}η_{8}, τ_{3}ρ, τ_{4}ρ + η_{1}η_{9} + 4η_{8}η_{9},

ζ_{1}π + 4ζ_{3}τ_{1}η_{11} + 4τ_{2}ρη_{11}, ζ_{2}π + 3ζ_{3}τ_{2}η_{11} + 2τ_{2}ρη_{11}, ζ_{3}π + ζ_{3}τ_{1}η_{12} + 4τ_{2}ρη_{12}, ζ_{4}π + 4ζ_{3}τ_{2}η_{12} + τ_{2}ρη_{12}

ζ_{5}π, ζ_{6}π + ζ_{3}τ_{4}η_{11} + 2ζ_{4}τ_{4}η_{11} + 3τ_{4}ρη_{11},

τ_{i}π, 1 ≤ i ≤ 4,

ρπ,

η_{1}ζ_{3} + η_{1}ρ, η_{7}ζ_{2} + η_{8}ζ_{2} + 4η_{5}ρ, η_{7}ζ_{2} + 4η_{8}ζ_{2} + eta_{6}ρ,

η_{5}η_{6}ζ_{2} + 4η_{6}^{2}ζ_{2} + η_{12}ρ

Example: The McLaughlin group

The next example is the McLaughlin group, McL, over the field 𝔽_{5}. This group has order 898, 128, 000 = 2^{7} ·3^{6} ·5^{3} ·7·11. The Sylow 5-subgroups of McL are isomorphic to 5^{1+2}, the extraspecial 5-group of order 5^{3} and exponent 5, see [9]. McL has a T. I. Sylow 5-subgroup, P with presentation

< A, B, C | A^{5} = B^{5} = C^{5} = 1, B^{A} = BC, AC = CA, BC = CB > .

Let H = N_{G}(P)/P ≅ ℤ_{3} ⋊ ℤ_{8} The generator of H, h_{1}, of order 3 acts on P via

A ↦ A^{2}B^{2}C, B ↦ A^{4}B^{2}C^{3}, C ↦ C,

The generator, h_{2}, of order 8 acts via

A ↦ AB^{2}C, B ↦ AB^{4}C, C ↦ C^{2},

6.1 The Cohomology of P

We now run the programs that compute H^{∗}(P, 𝔽_{5}) with a generating set that “normalizes” the action of H.

Proposition 19. H^{∗}(P, 𝔽_{5}) is generated by the elements z, y, x, w, v, u, t, s, r, q, p, n in degrees 1,1,2,2,2,2,3,3,7,8,9,10, respectively, subject to the following relations:

z^{2}, zy, y^{2}, yx + 4zu, zv + yw, yv, zw, xv + 4yt + 2zs, vu + ys, v^{2}, xw + zt, wu + 2yt + 4zs, wv, w^{2}, ut + 4xs, vt + ws, wt, vs, t^{2}, s^{2}, zr, yr, zx^{4} + 4zq, yw^{4} + 4yq, xr + zq, ur + yq, vr, wr, x^{5} + 4xq, u^{5} + 4uq,

zx^{3}t + 3zp, yu^{3}s + 3yp, tr + 3zp, sr + 3yp, wq + 2zp, vq + 2yp, x^{4}t + 3xp, u^{4}s + 3up, tq + 3xp, sq + 3up, wp, vp, tp, sp, r^{2}, zx^{3}u^{4} + 4zx^{3}q + 4yu^{3}q + 4rq,

x^{4}u^{4} + 4x^{4}q + 4u^{4}q + q^{2}, zx^{3}u^{3}s + 3rp, x^{4}u^{3}s + 3x^{4}p + 3u^{4}p + 2qp, p^{2}.

Furthermore, the action of H on H^{∗}(P, 𝔽_{5}) is given as follows:

h_{1}^{z} = 2z + 4y, h_{1}y = 2z + 2y, h_{1}x = 2x + 4u, h_{1}w = 2w + 4v,
h_{1}v = 2w + 2v, h_{1}u = 2x + 2u, h_{1}t = 2t + 4s, h_{1}s = 2t + 2s,
h_{1}r = r, h_{1}q = q, h_{1}p = p, h_{1}n = n,

and

h_{2}z = z + y, h_{2}y = 2z + 4y, h_{2}x = x + u, h_{2}w = 2w + 2v,
h_{2}v = 4w + 3v, h_{2}u = 2x + 4u, h_{2}t = 2t + 2s, h_{2}s = 4t + 3s,
h_{2}r = r, h_{2}q = q, h_{2}p = 2p, h_{2}n = 2n,

where h_{1} is a generator of H of degree 3 and h_{2} is a generator of H of degree 8.

6.2 H^{ev}(McL, 𝔽_{5})

As in the PSU(3,5) case, H^{ev}(P, 𝔽_{5}) is generated by x, w, v, u, ts, q, n, and the previous proposition tells us how H acts on H^{ev}(P, 𝔽_{5}).

Again, we shall apply Smith’s Lemma to compute a generating set for H^{ev}(P, 𝔽_{5})^{H}. Unfortunately, in this case, |H| = 24, and few computers, if any, have the memory needed to compute all the invariants up to degree 24. However, H does contain normal subgroup that is cyclic of order 3, and so

H^{ev}(P, 𝔽_{5})^{H} = (H^{ev}(P, 𝔽_{5})^{ℤ_{3}})^{ℤ_{8}}.

Let H_{1} be the subgroup of GL(7, 𝔽_{5}) generated by the matrix

(\begin{matrix}2 & 0 & 0 & 4 & 0 & 0 & 0 \\ 0 & 2 & 4 & 0 & 0 & 0 & 0 \\ 0 & 2 & 2 & 0 & 0 & 0 & 0 \\ 2 & 0 & 0 & 2 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{matrix}) .

We compute the invariant ring of this matrix group and then compute a minimal generating set. We get that this invariant ring is generated by elements E_{i}, 1 ≤ i ≤ 10, where

res_{McL,P} (E_{1}) = ts, res_{McL,P} (E_{2}) = q, res_{McL,P} (E_{3}) = n, res_{McL,P} (E_{4}) = x^{2} + 3u^{2}, res_{McL,P} (E_{5}) = xw + 3vu, res_{McL,P} (E_{6}) = xv + 4wu, res_{McL,P} (E_{7}) = x^{3} + xu^{2},

res_{McL,P} (E_{8}) = x^{2}w + 4xvu + 2wu^{4}, res_{McL,P} (E_{9}) = x^{2}v + 2xwu + 2vu^{2},

res_{McL,P} (E_{10}) = x^{2}u + 4u^{3}

These are the generators of H^{ev}(P, 𝔽_{5})^{ℤ_{3}}. Next, we determine that the action of ℤ_{8} on the E’s is given as follows.

h_{2}E_{1} = 3E_{1}, h_{2}E_{2} = E_{2}, h_{2}E_{3} = 2E_{3}, h_{2}E_{4} = 3E_{4},
h_{2}E_{5} = E_{5}, h_{2}E_{6} = 4E_{6}, h_{2}(E_{7}) = 3E_{10},
h_{2}E_{8} = 2E_{9}, h_{2}E_{9} = 4E_{8}, h_{2}E_{10} = 4E_{7}

Let H be the subgroup of GL(10, 𝔽_{5}) generated by the matrix

(\begin{matrix}3 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 2 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 3 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 4 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 3 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 4 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 4 & 0 & 0 & 0 \end{matrix}) .

We compute the invariant ring of this matrix group and a minimal generating set for this ring. These elements will correspond to the generators of H^{ev}(McL, 𝔽_{5}). Then follow the procedure in the PSU(3,5) example to find the relations in H^{ev}(McL, 𝔽_{5}). We get the following result.

Proposition 20. H^{ev}(McL, 𝔽_{5}) is generated by η_{i}, 1 ≤ i ≤ 6, where

res_{McL,P} (η_{1}) = q, res_{McL,P} (η_{2}) = xw + 3vu, res_{McL,P} (η_{3}) = tsn,

res_{McL,P} (η_{4}) = x^{2}n + 3u^{2}n, res_{McL,P} (η_{5}) = xvn^{2} + 4wun^{2}, res_{McL,P} (η_{6}) = n^{4},

subject to the follwoing relations.

η_{4}^{4} + 4η_{1}^{2}η_{6}, η_{2}^{2}, η_{1}η_{3}, η_{2}η_{3}, η_{3}^{2},
η_{3}η_{4}, η_{1}η_{5}, η_{2}η_{5}, η_{3}η_{5}, η_{4}η_{5}, η_{5}^{2}.

6.3 Elements of odd degree

Next, we follow the procedure in the PSU(3,5) example to find the invariants of odd degree that generate H^{∗}(McL, 𝔽_{5}) as a module over H^{ev}(McL, 𝔽_{5}). That is, we compute the invariants of H acting on various subrings. The first subring we consider is the one generated by the elements z, y, x, w, v, u, ts, q, and n. Call this subring A_{1}.

Let H_{1} be the subgroup of GL(8, 𝔽_{5}) generated by the matrix

(\begin{matrix}2 & 4 & 0 & 0 & 0 & 0 & 0 & 0 \\ 2 & 2 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 2 & 0 & 0 & 4 & 0 & 0 \\ 0 & 0 & 0 & 2 & 4 & 0 & 0 & 0 \\ 0 & 0 & 0 & 2 & 2 & 0 & 0 & 0 \\ 0 & 0 & 2 & 0 & 0 & 2 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{matrix}) ,

and we compute A_{1}^{H_{1}}.

Proposition 21. The invariant ring of H acting on A_{1} is generated by η_{i}, 1 ≤ i ≤ 6, and ζ_{j}, 1 ≤ j ≤ 3, where the η’s are defined as before and

res_{McL,P} (ζ_{1}) = zxn + 3yun, res_{McL,P} (ζ_{2}) = 4ywn^{2} + zvn^{2},

res_{McL,P} (ζ_{3}) = zx^{7} + 3yx^{6}u + 4zx^{5}u^{2} + 2yx^{4}u^{3} + 2zx^{3}u^{4} + yx^{2}u^{5} + 2zxu^{6} + yu^{7}.

The relations involving only the η’s are as before, and the remaining relations are

ζ_{i}ζ_{j}, 1 ≤ i ≤ j ≤ 3,
η_{4}^{3}ζ_{1} + 4η_{6}ζ_{3}, η_{1}^{2}ζ_{1} + 4η_{4}ζ_{3}, η_{2}ζ_{1}, η_{3}ζ_{1}, η_{1}ζ_{2},
η_{2}ζ_{2}, η_{3}ζ_{2}, η_{4}ζ_{2}, η_{5}ζ_{1}, η_{5}ζ_{2}, η_{2}ζ_{3}, η_{3}, ζ_{3}, η_{5}ζ_{3}.

Next, we follow the previous procedure to compute the invariant rings of H acting on the following rings:

A_{2} = the ring generated by x, w, v, u, t, s, q, n.

with the additional relation ts = 0.

A_{3} = the ring generated by x, w, v, u, ts, r, q, n.
A_{4} = the ring generated by x, w, v, u, ts, q, p, n.

Remark. As in the PSU(3,5) example, we make the assumption that ts = 0, so that A_{2} will be commutative.

The results are

Proposition 22. The invariant ring of H acting on A_{2} is generated by η_{i}, 1 ≤ i ≤ 6, and τ_{j}, 1 ≤ j ≤ 2, where the η’s are defined as before and

res_{McL,P} (τ_{1}) = xt + 3us, res_{McL,P} (τ_{2}) = 4vtn + wsn.

The relations involving only the η’s are as before, with the exception that η_{3} = 0, and the remaining relations are

τ_{i}τ_{j}, 1 ≤ i ≤ j ≤ 2,
η_{2}τ_{1}, η_{1}τ_{2}, η_{2}τ_{2}, η_{4}τ_{2}, η_{5}τ_{1}, η_{5}τ_{2}.

Proposition 23. The invariant ring of H acting on A_{3} is generated by η_{i}, 1 ≤ i ≤ 6, and ρ, where the η’s are defined as before and res_{McL,P} (ρ) = r. The relations involving only the η′s are as before, and the remaining relations are

ρ^{2}, η_{2}ρ, η_{3}ρ, η_{5}ρ.

Proposition 24. The invariant ring of H acting on A_{4} is generated by η_{i}, 1 ≤ i ≤ 6, and π_{j}, 1 ≤ j ≤ 2, where the η’s are defined as before and

res_{McL,P} (π_{1}) = x^{2}p + 3u^{2}p, res_{McL,P} (π_{2}) = pn^{3}.

The relations involving only the η′s are as before, and the remaining relations are

π_{i}π_{j}, 1 ≤ i ≤ j ≤ 2,
η_{4}^{3}π_{1} + 4η_{1}^{2}π_{2}, η_{2}π_{1}, η_{2}π_{2}, η_{3}π_{1},
η_{3}π_{2}, η_{4}π_{2} + 4η_{6}π_{1}, η_{5}π_{1}, η_{5}π_{2}.

What remains is to compute the relations involving the ζ’s, the τ’s, ρ, and the π’s. To compute these relations, we create the list of matrices representing these elements and input this data into the SubRingCohomologyRelations program. Two of the relations we find allow us to reduce the number of generators. They are

η_{1}ρ + ζ_{3} and η_{1}τ_{1} + 3π_{1}

Now, we can describe the cohomology ring of McL.

Theorem 25. H^{∗}(McL, 𝔽_{5}) is generated by η_{i}, 1 ≤ i ≤ 6, ζ_{1}, ζ_{2}, τ_{1}, τ_{2}, ρ, π. The following table describes the degrees of these generators and their images under res_{McL,P}.

Generator Degree Image in H^{∗}(P, 𝔽_{5})
η_{1}  8  q
η_{2}  4  xw + 3vu
η_{3}  16  tsn
η_{4}  14  x^{2}n + 3u^{2}n
η_{5}  24  xvn^{2} + 4wun^{2}
η_{6}  40  n^{4}
ζ_{1}  13  zxn + 3yun
ζ_{2}  23  4ywn^{2} + zvn^{2}
τ_{1}  5  xt + 3us
τ_{2}  15  4vtn + wsn
ρ  7  r
π  39  pn^{3}

These generators are subject to the following relations

η_{1}η_{3}, η_{1}η_{5}, 4η_{1}^{2}η_{6} + η_{4}^{4}, η_{2}^{2}, η_{2}η_{3},

η_{2}η_{5}, η_{3}^{2}, η_{3}η_{4}, η_{3}η_{5}, η_{4}η_{5}, η_{5}^{2},

ζ_{1}^{2}, ζ_{1}ζ_{2}, ζ_{2}^{2}
η_{1}ζ_{2}, η_{2}ζ_{1}, η_{2}ζ_{2}, η_{3}ζ_{1},
η_{3}ζ_{2}, η_{4}ζ_{2}, η_{5}ζ_{1}, η_{5}ζ_{2},

τ_{1}^{2}, τ_{1}τ_{2}, τ_{2}^{2},
η_{1}τ_{2}, η_{2}τ_{1}, η_{2}τ_{2}, η_{3}τ_{1},
η_{3}τ_{2}, η_{4}τ_{2}, η_{5}τ_{1}, η_{5}τ_{2},

ρ^{2}, η_{2}ρ, η_{3}ρ, η_{5}ρ

π^{2}, η_{2}π, η_{3}π, η_{5}π,

ζ_{1}τ_{1} + η_{2}η_{4}, ζ_{1}τ_{2}, ζ_{1}ρ, ζ_{1}π + 3η_{1}η_{2}η_{6},

ζ_{2}τ_{1}, ζ_{2}τ_{2}, ζ_{2}ρ, ζ_{2}π, τ_{1}ρ + η_{1}η_{2}, τ_{1}π, τ_{2}ρ, τ_{2}π,

ρπ + 2η_{2}η_{4}^{3}, η_{1}ζ_{1} + η_{4}ρ, η_{1}η_{6}τ_{1} + 3η_{4}π, η_{1}η_{6}ρ + η_{4}^{3}ζ_{1}, η_{1}π + 2η_{3}^{3}τ.

Some characteristic 3 examples

Finally, we shall look at calculations in characteristic 3. The cohomology ring of the extraspecial group 3^{1+2} has fewer odd-degree generators than the cohomology ring of p^{1+2}, for p > 3. Also, the product of the generators of degree 3 is zero. For these reasons, mod-3 computations are quite easier than the mod-5 computatons already presented. However, we follow the same procedure. That is, we first compute the even cohomology, then we add the odd generators one degree at a time, and finally we put the pieces together. Therefore, we shall skip many of the details.

The groups whose mod-3 cohomology rings were computed are P SU(3, 3) and its automorphism group P SU(3, 3) : 2. It should be noted that Samuel Kleinerman computed the cohomology in characteristic 3 of P SU(3, 3) : 2 ≅ G_{2}(2), along with other Chevalley groups in prime characteristic [15].

The unitary group P SU(3, 3) has order 6048 = 2^{5} · 3^{3} · 7. The Sylow 3-subgroups of P SU(3, 3) and P SU(3, 3): 2 are isomorphic to 3^{1+2}. The cohomology of P = 3^{1+2}, which was first computed by Leary [16], is given below

Proposition 26. H^{∗}(P, 𝔽_{3}) is generated by the elements z, y, x, w, v, u, t, s, r in degrees 1,1,2,2,2,2,3,3,6, respectively, subject to the following relations:

z^{2}, zy, y^{2}, yx + 2zu, zw + zu, yw + zv, yv + 2zu, xw + vu + zt + ys,
w^{2} + wu + 2zs, xv + wu + 2zs, wv + vu + ys, v^{2} + wu, xu + 2vu + 2ys,
yt + 2zs, wt + vs, vt + ws, ut + 2vs, xs + 2vs, t^{2}, ts, s^{2}

N_{P SU(3,3)}(P)/P ≅ ℤ_{8} and N_{P SU(3,3): 2}(P)/P is isomorphic to the semidihedral group of order 16.

After computing the invariant rings for these two groups, we can describe the cohomology rings of P SU(3, 3) and P SU(3, 3): 2.

Theorem 27. H^{∗}(P SU(3, 3), 𝔽_{3}) is generated by η_{i}, 1 ≤ i ≤ 4, ζ_{1}, ζ_{2}, τ_{1}, τ_{2}. The following table describes the degrees of these generators and their images under res_{P SU(3,3),P}.

Generator Degree  Image in H^{∗}(P, 𝔽_{5})
η_{1} 4 x^{2} + xv + 2wu + u^{2}
η_{2}  4 xw + xv + 2xu + wu + 2vu
η_{3}  12  r^{2}
η_{4}  10  x^{2}r + 2xur + 2u^{2}r
ζ_{1}  3  zx + 2zv + yu
ζ_{2}  9  zxr + 2zur + 2yur
τ_{1}  5  xt + 2vs + 2us
τ_{2}  11  xtr + wsr + usr

These generators are subject to the following relations

η_{1}^{2}η_{3} + 2η_{4}^{2}, η_{2}^{2}, η_{1}η_{3}ζ_{1} + 2η_{4}ζ_{2},
η_{1}ζ_{2} + 2η_{4}ζ_{1}, η_{2}ζ_{1}, η_{2}ζ_{2},
ζ_{1}^{2}, ζ_{1}ζ_{2}, ζ_{2}^{2}
η_{1}η_{3}τ_{1}, η_{1}τ_{2} + 3η_{4}τ_{1}, η_{2}τ_{1}, η_{2}τ_{2},
τ_{1}^{2}, τ_{1}τ_{2}, τ_{2}^{2},

ζ_{1}τ_{1} + η_{1}η_{2}, ζ_{1}τ_{2} + η_{2}η_{4}, ζ_{2}τ_{1} + 2ζ_{1}τ_{2}, ζ_{2}τ_{2} + 3η_{3}ζ_{1}τ_{1} Theorem 28. H^{∗}(P SU(3, 3): 2, 𝔽_{3}) is generated by η_{1}, η_{2}, ζ, τ. The following table describes the degrees of these generators and their images under res_{P SU(3,3): 2,P}.

Generator Degree Image in H^{∗}(P, 𝔽_{5})
η_{1}  4 x^{2} + xv + 2wu + u^{2}
η_{2}  12  r^{2}
ζ  3  zx + 2zv + yu
τ  11  xtr + wsr + usr

These generators are subject to the relations ζ^{2} and τ^{2}.

Bibliography

[1] A. Adem, J. Maginnis, R. J. Milgram, The geometry and cohomology of the Mathieu group M_{12}, J. of Algebra 139 (1991), 90-133.

[2] A. Adem and R. J. Milgram, The cohomology of the Mathieu group M_{22}, Topology 34 (1995), 389-410.

[3] A. Adem and R. J. Milgram, The cohomology of the McLaughlin group and some associated groups, Math. Zeit. 224 (1997), 495-517.

[4] D. J. Benson, Representations and Cohomology I, Cambridge Studies in advanced mathematics, vol. 30, Camb. Univ. Press (1990).

[5] D. J. Benson, Representations and Cohomology II, Cambridge Studies in advanced mathematics, vol. 31, Camb. Univ. Press (1991).

[6] W. Bosma and J. Cannon, Handbook of Magma Functions, Magma Computer Algebra, Sidney (1996).

[7] J. F. Carlson, Modules and Group Algebras, ETH Lecture Notes, Birkhäuser, Basel (1996).

[8] J. F. Carlson, Calculating group cohomology: Tests for completion, J. Symbolic Comp., to appear.

[9] J. H. Conway, R. T. Curtis, S. P. Norton, R. A. Parker, and R. A. Wilson, Atlas of Finite Groups, Oxford University Press (1985).

[10] J. F. Carlson, J. Maginnis, and R. J. Milgrim, The cohomology of the sporadic groups J_{2} and J_{3}, J. of Algebra, to appear.

[11] L. Evens, The Cohomology of Groups, Oxford Univeristy Press, New York (1991).

[12] D. J. Green, On the cohomology of the sporadic simple group J_{4}, Math. Proc. Camb. Phil. Soc., 113 (1993), 253-266.

[13] D. J. Green, The 3-local cohomology of the Mathieu group M_{24}, Glasgow Math. J., 38 (1996), 69-75.

[14] Gregor Kemper and Allan Steel, Some algorithms in invariant theory of finite groups, Computational Methods for Representations of Groups and Algebras, Progress in Mathematics, Birkhäuser, Basel (1998), to appear.

[15] Samuel Kleinerman, The cohomology of Chevalley groups of exceptional Lie type, Memoirs of the Amer. Math. Soc. 39 (1982), no. 268.

[16] I. J. Leary, The mod-p cohomology rings of some p-groups, Math. Proc. Camb. Phil. Soc. 112 (1992), 63-75.

[17] L. Smith, E. Noether’s bound in the invariant theory of finite groups, Arch. Math. 66 (1996), 89-92.

Appendix

MAGMA Programs

PPrimeChainMap := function(prjj,autlst,phi);
// This function returns the chain map as a list of matrices induced
// by the automorphism aut.
//
// aut is an automorphism of PCGroup(G)
// phi is the map from G to PCGroup(G)
inn := prjj[3];
ggg := inn[5];
// this is the group G
rho := Representation(inn[1]);
matlstlst := [* *];
for s := 1 to #autlst do
aut := autlst[s];
mmmlst :=
    [rho(aut(phi(inn[6][i]))@@phi)-rho(ggg!1): i in [1..#inn[6]]];
// this is the list of matrices of the action induced by the
// automorphism aut of G on the standard free module for G.
rrr := prjj[1];
mml := prjj[2];
fld := CoefficientRing(inn[1]);
p := inn[4];
numm := #rrr-2;
stlt :=
    [0] cat [&+[rrr[i]*rrr[i]:i in [1 .. j]]:j in [1 .. numm+1]];
stlt2 :=
    [0] cat [&+[rrr[i]*rrr[i+1]:i in [1 .. j]]:j in [1 .. numm]];
zvec := VectorSpace(fld,#ggg)!0;
szero := Hom(VS(fld,#ggg),VS(fld,#ggg))!0;

nml :=
  Hom(VS(fld,&+[rrr[i]*rrr[i]:i in [1 .. numm+2]]),VS(fld,#ggg))!0;
nml[1,1] := 1;
for t:= 1 to numm+1 do
proj := VectorSpace(fld,#ggg*rrr[t]);
gamma := Hom(proj, proj)!0;
for k := 1 to rrr[t] do
for j := 1 to rrr[t] do
if nml[stlt[t]+j+rrr[t]*(k-1)] ne zvec then
uuu := Hom(VS(fld,1),VS(fld,#ggg))!nml[stlt[t]+j+rrr[t]*(k-1)];
InsertBlock(~szero,uuu,1,1);
for i := 1 to #mmmlst do
for w := 1 to p-1 do
subm := Submatrix(szero*mmmlst[i],
p^(i-1)*(w-1)+1,1,p^(i-1),#ggg);
InsertBlock(~szero,subm,p^(i-1)*w+1,1);
end for;
end for;
InsertBlock(~gamma,szero,(j-1)*#ggg+1,(k-1)*#ggg+1);
end if;
end for;
end for;
delta2 := Hom(VS(fld,rrr[t+1]),VS(fld,rrr[t]*#ggg))!0;
for i:= 1 to rrr[t] do
   InsertBlock(~delta2,Submatrix(mml,stlt2[t]+rrr[t+1]*(i-1)+1,1,\
      rrr[t+1],#ggg),1,(i-1)*#ggg+1);
end for;
uu := delta2*gamma;
delta := CreateBoundaryMap(<rrr,mml,inn>,t);
qq,ww := IsConsistent(delta,uu);
for i := 1 to rrr[t+1] do
   InsertBlock(~nml,Submatrix(ww,1,#ggg*(i-1)+1,rrr[t+1],#ggg),\
      stlt[t+1]+rrr[t+1]*(i-1)+1,1);
end for;
end for;
infr :=  [rrr[i]*rrr[i]:i in [1.. numm]];
remat := Transpose(nml);
matlst := [* *];
for j := 1 to numm do
tmat :=
Hom(VectorSpace(fld,rrr[j+1]),VectorSpace(fld,rrr[j+1]))!0;
n2 := &+[infr[t]:t in [1 .. j]];

for k := 1 to rrr[j+1] do
InsertBlock(~tmat,Submatrix(remat,1,
n2+(k-1)*rrr[j+1]+1,1,rrr[j+1]),k,1);
end for;
Append(~matlst,Transpose(tmat));
end for;
Append(~matlstlst,matlst);
end for;
return matlstlst;
NormalizePPrimeAction := function(prjj,alcc,matlstlst,rels);
rrr := prjj[1];
mml := prjj[2];
inn := prjj[3];
gchd := alcc[3];
fld := CoefficientRing(inn[1]);
numm := #rrr-2;
mons := rels[1];
pol := rels[2];
glst := [Basis(RSpace(Integers(),#gchd+1))[i]+gchd[i]*
   Basis(RSpace(Integers(),#gchd+1))[#gchd+1]:i in [1..#gchd]];
nl := [];
tl := [* *];
nmlst := GeneratorChainMaps(prjj,alcc);
for d := 1 to numm do
if #[b:b in gchd|b eq d] ne 0 then
  mmonsi := [yy : yy in mons | yy[#gchd+1] eq d];
  monsi := [];
  for t := 1 to #gchd do
    if glst[t] in mmonsi then
      Append(~monsi,glst[t]);
    end if;
  end for;
  monsi cat:= [x: x in mmonsi|x notin glst];
  testmat :=
    Hom(VectorSpace(fld,#monsi),VectorSpace(fld,rrr[d+1]))!0;
  for ss := 1 to #monsi do;
x := monsi[ss];
uuu := MatrixAlgebra(fld,rrr[d+1])!1;
for t := 1 to #gchd do
while x[t] ne 0 do
m := x[#gchd+1]-gchd[t];

vuu := nmlst[t][m+1];
x := x - glst[t];
uuu := uuu*vuu;
end while;
end for;
InsertBlock(~testmat,Transpose(uuu),ss,1);
  end for;
  H :=
    sub<GL(rrr[d+1],fld)|[testmat*Transpose(matlst[d])*
    testmat^-1:matlst in matlstlst]>;
  M := GModule(H);
  B := Basis(M);
  genlst := [nmlst[i][1]:i in [1..#nmlst]|gchd[i] eq d];
  BBB := [];
  for i := 1 to #genlst do
     bboo, ssol := IsConsistent(testmat,Transpose(genlst[i]));
     Append(~BBB,M!VS(fld,rrr[d+1])!ssol);
  end for;
  BB := [x:x in B|x notin BBB];
  N := sub<M|BB>;
  Q,theta := quo<M|N>;
  rho := Representation(Q);
  sigma := hom<Q -> M | BBB>;
  Sigma := hom<Q -> M | [(&+[sigma(Q.i*rho(g^-1))*g:g in H]/#H):
    i in [1..Dimension(Q)]]>;
  for i := 1 to Dimension(Q) do
tt := Eltseq(Sigma(Q.i));
rpo := &+[&*[pol.i^monsi[j][i]:i in [1 .. #gchd]]*tt[j]:
j in [1 .. #tt]];
Append(~nl,rpo);
Append(~tl,Sigma(Q.i));
  end for;
end if;
end for;
return nl,tl;
end function;

NewGeneratorChainMaps := function(pror,alcm,rels,nl,tl);
rrr := pror[1];

chmap := alcm[1];
chdeg := alcm[3];
fff := CoefficientRing(Parent(chmap));
ZZ := Integers();
datasp := RSpace(ZZ,#chdeg+1);
BB := Basis(datasp);
glst := [BB[i]+chdeg[i]*BB[#chdeg+1]: i in [1 .. #chdeg]];
matlst := GeneratorChainMaps(pror,alcm);
mons := rels[1];
genlst := [* *];
for ss := 1 to #tl do
eltlst := [* *];
mmonsi := [xx:xx in mons| xx[#glst+1] eq WeightedDegree(nl[ss])];
monsi := [];
for t := 1 to #nl do
           if glst[t] in mmonsi then
              Append(~monsi,glst[t]);
           end if;
        end for;
        monsi cat:= [x: x in mmonsi|x notin glst];
monlst := [* *];
for tt := 1 to #monsi do
moneltlst := [* *];
x := monsi[tt];
d := x[#chdeg+1];
for j := d to #rrr-1 do
uuu := MatrixAlgebra(fff,rrr[j+1])!1;
y := x;
for i := 1 to #chdeg do
while y[i] ne 0 do
m := y[#chdeg+1]-chdeg[i]+j-d;
vuu := matlst[i][m+1];
y := y - glst[i];
uuu := uuu*vuu;
end while;
end for;
Append(~moneltlst,uuu);
end for;
Append(~monlst,moneltlst);
end for;
for uu := 1 to #rrr-WeightedDegree(nl[ss]) do
newgen := &+[tl[ss][i]*monlst[i][uu]:i in [1..#monsi]];

Append(~eltlst,newgen);
end for;
Append(~genlst,eltlst);
end for;
return genlst;
end function;

NewCohomologyRelations := function(pror,alcm,newmatlst,pol);
rrr := pror[1];
chmap := alcm[1];
chmapsz := alcm[2];
chdeg := alcm[3];
numb := #rrr-1;
fff := CoefficientRing(Parent(chmap));
recor := Transpose(chmap)[1];
recmat := Hom(VectorSpace(fff,1),
VectorSpace(fff,Dimension(Parent(recor))))!recor;
ZZ := Integers();
datasp := RSpace(ZZ,#chdeg+1);
BB := Basis(datasp);
glst2 := [BB[i]+chdeg[i]*BB[#chdeg+1]: i in [1 .. #chdeg]];
monolst := [x: x in glst2 | x[#chdeg+1] eq 1];
relat := [];
for tt := 2 to numb do
degset := {x: x in glst2 | x[#chdeg+1] eq tt};
for x in monolst do
for y in glst2 do
if x[#chdeg+1] + y[#chdeg+1] eq tt then
degset := degset join {x+y};
end if;
end for;
end for;
deglst := Setseq(degset);
mplst := MakeRelation(fff,chdeg,deglst);
testmat :=
  Hom(VectorSpace(fff,#deglst),VectorSpace(fff,rrr[tt+1]))!0;
for ss := 1 to #deglst do
x := deglst[ss];
uuu := MatrixAlgebra(fff,rrr[tt+1])!1;
for i := 1 to #chdeg do
while x[i] ne 0 do
m := x[#chdeg+1]-chdeg[i];

vuu := newmatlst[i][m+1];
x := x - glst2[i];
uuu := uuu*vuu;
end while;
end for;
www := Transpose(uuu);
InsertBlock(~testmat,www,ss,1);
end for;
nullsp := NullSpace(testmat);
if Dimension(nullsp) ne 0 then
nullmat := BasisMatrix(nullsp);
removlst := [];
for i := 1 to Dimension(nullsp) do
y := nullmat[i];
for j := 1 to #deglst do
if y[j] ne 0 then
Append(~removlst,deglst[j]);
rel1 := &+[y[t]*mplst[t]:t in [1 .. #deglst]];
Append(~relat,rel1);
break;
end if;
end for;
end for;
degset := degset diff Seqset(removlst);
end if;
monolst := monolst cat Setseq(degset);
end for;
I := ideal< pol | relat >;
print pol;
print relat;
Groebner(I);
ss := Basis(I);
sso := [];
dddg := HoDeg(pol,ss,chdeg);
flag := true;
for i := 1 to #Basis(I) do
a,b := Minimum(dddg);
if flag then
II := ideal<pol|sso>;
Groebner(II);
end if;
if ss[b] notin II then
Append(~sso,NormalForm(ss[b],II));

flag := true;
else
flag := false;
end if;
Remove(~ss,b);
Remove(~dddg,b);
end for;
return <monolst,pol,I,sso>;
end function;
SubRingGeneratorChainMaps := function(pror,alcm,matlst,tuplst);
rrr := pror[1];
chmap := alcm[1];
chdeg := alcm[3];
fff := CoefficientRing(Parent(chmap));
ZZ := Integers();
datasp := RSpace(ZZ,#chdeg+1);
BB := Basis(datasp);
glst := [BB[i]+chdeg[i]*BB[#chdeg+1]: i in [1 .. #chdeg]];
genlst := [* *];
for ss := 1 to #tuplst do
eltlst := [* *];
x := tuplst[ss];
d := x[#chdeg+1];
for j := d to #rrr-1 do
uuu := MatrixAlgebra(fff,rrr[j+1])!1;
y := x;
for i := 1 to #chdeg do
while y[i] ne 0 do
m := y[#chdeg+1]-chdeg[i]+j-d;
vuu := matlst[i][m+1];
y := y - glst[i];
uuu := uuu*vuu;
end while;
end for;
Append(~eltlst,uuu);
end for;
Append(~genlst,eltlst);
end for;
return genlst;
end function;

SubRingCohomologyRelations :=
  function(pror,alcm,tuplst,newmatlst,pol);
rrr := pror[1];
chmap := alcm[1];
chmapsz := alcm[2];
chdeg := alcm[3];
newdeg := [tuplst[i][#chdeg+1]:i in [1..#tuplst]];
numb := #rrr-1;
fff := CoefficientRing(Parent(chmap));
recor := Transpose(chmap)[1];
recmat := Hom(VectorSpace(fff,1),
VectorSpace(fff,Dimension(Parent(recor))))!recor;
ZZ := Integers();
datasp := RSpace(ZZ,#tuplst+1);
BB := Basis(datasp);
glst2 :=
   [BB[i]+tuplst[i][#chdeg+1]*BB[#tuplst+1]: i in [1 .. #tuplst]];
monolst := [x: x in glst2 | x[#tuplst+1] eq 1];
relat := [];
for tt := 2 to numb do
  degset := {x: x in glst2 | x[#tuplst+1] eq tt};
  for x in monolst do
    for y in glst2 do
      if x[#tuplst+1] + y[#tuplst+1] eq tt then
        degset := degset join {x+y};
      end if;
    end for;
end for;
deglst := Setseq(degset);
mplst := MakeRelation(fff,newdeg,deglst);
testmat :=
   Hom(VectorSpace(fff,#deglst),VectorSpace(fff,rrr[tt+1]))!0;
for ss := 1 to #deglst do
  x := deglst[ss];
  uuu := MatrixAlgebra(fff,rrr[tt+1])!1;
  for i := 1 to #tuplst do
    while x[i] ne 0 do
      m := x[#tuplst+1]-newdeg[i];
      vuu := newmatlst[i][m+1];
      x := x - glst2[i];
      uuu := uuu*vuu;

    end while;
  end for;
  www := Transpose(uuu);
  InsertBlock(~testmat,www,ss,1);
end for;
nullsp := NullSpace(testmat);
if Dimension(nullsp) ne 0 then
nullmat := BasisMatrix(nullsp);
removlst := [];
for i := 1 to Dimension(nullsp) do
  y := nullmat[i];
  for j := 1 to #deglst do
    if y[j] ne 0 then
      Append(~removlst,deglst[j]);
      rel1 := &+[y[t]*mplst[t]:t in [1 .. #deglst]];
      Append(~relat,rel1);
      break;
    end if;
  end for;
end for;
degset := degset diff Seqset(removlst);
end if;
monolst := monolst cat Setseq(degset);
end for;
I := ideal< pol | relat >;
print pol;
print relat;
Groebner(I);
ss := Basis(I);
sso := [];
dddg := HoDeg(pol,ss,newdeg);
flag := true;
for i := 1 to #Basis(I) do
  a,b := Minimum(dddg);
  if flag then
    II := ideal<pol|sso>;
    Groebner(II);
  end if;
  if ss[b] notin II then
    Append(~sso,NormalForm(ss[b],II));
    flag := true;
    else
    flag := false;

  end if;
  Remove(~ss,b);
  Remove(~dddg,b);
end for;
return <monolst,pol,I,sso>;
end function;

PPrimeAction := function(prjj,alcc,matlstlst,tuplst,nmlst,evrels);
// prjj and alcc are the projective resolution and chain maps for
// the group ggg. aut is an automorphism of PCGroup(ggg), and phi
// is the map from ggg to PCGroup(ggg).  tuplst is a list of tuples
// which represent elements in the cohomology ring of ggg.  evrels
// is the relations amoung these elements.
rrr := prjj[1];
mml := prjj[2];
inn := prjj[3];
gchd := alcc[3];
fld := CoefficientRing(inn[1]);
numm := #rrr-2;
glst2 := [Basis(RSpace(Integers(),#tuplst+1))[i]+
   tuplst[i][#gchd+1]*Basis(RSpace(Integers(),#tuplst+1))[#tuplst+1]:
   i in [1 .. #tuplst]];
//This is a list of chain maps corresponding to the elements in
//tuplst.
mons := evrels[1];
pol := evrels[2];
genlstlst := [];
for s := 1 to #matlstlst do
matlst := matlstlst[s];
genlst := [];
for ww := 1 to numm do
if #[x:x in tuplst|x[#gchd+1] eq ww] ne 0 then
monsi := [yy : yy in mons | yy[#tuplst+1] eq ww];
testmat := Hom(VectorSpace(fld,#monsi),VectorSpace(fld,rrr[ww+1]))!0;
for ss := 1 to #monsi do;
x := monsi[ss];
uuu := MatrixAlgebra(fld,rrr[ww+1])!1;
for t := 1 to #tuplst do

while x[t] ne 0 do
m := x[#tuplst+1]-tuplst[t][#gchd+1];
vuu := nmlst[t][m+1];
x := x - glst2[t];
uuu := uuu*vuu;
end while;
end for;
InsertBlock(~testmat,Transpose(uuu),ss,1);
end for;
for i := 1 to #tuplst do
if tuplst[i][#gchd+1] eq ww then
ggmat := matlst[ww]*nmlst[i][1];
tgmat := Transpose(ggmat);
boo,sol := IsConsistent(testmat,tgmat);
tt := Eltseq(sol);
rpo := &+[&*[pol.i^monsi[j][i]:i in [1 .. #tuplst]]*tt[j]:
j in [1 .. #tt]];
Append(~genlst,rpo);
end if;
end for;
end if;
end for;
Append(~genlstlst,genlst);
end for;
return genlstlst;
end function;