[SymbCompCC] 5 Schur extensions for p-power-poly-pcp-groups

[Up] [Previous] [Index]

# 5 Schur extensions for p-power-poly-pcp-groups

### Sections

1. Computing Schur extensions
2. Computing other invariants from Schur extensions
3. Info classes for the computation of the Schur extension

In this chapter we describe how the consistent pp-presentations of infinite coclass sequences can be used to compute a pp-presentation for the corresponding Schur extensions (see EF11).

For a group G = F/R the Schur extension H is defined as H = F/[F,R] (see EN08).

So for a parameter x that can take values in the positive integers, let (Gx = F/Rx | x ∈ N), for N the positive integers, describe an infinite coclass sequence of finite p-groups GX of coclass r. Then for each value for the parameter x, the group Gx has a consistent polycyclic presentation with generators g1, ·.·, gn, t1, ·.·, td and relations

gip = rel[i][i],
tiexpo = rel[n+i][n+i],
gigj = rel[j][i],
tigj = rel[j][n+i],
titj = 1·

Then we compute a consistent pp-presentation of the corresponding Schur extensions of with generators g1, ·.·, gn, t1, ·.·, td, c1, ·.·cm and relations

gip=rel[i][i],
tiexpo = rel[n+i][n+i],
ciexpo_vec[i] = rel[n+d+i,n+d+i],
gigj = rel[j][i],
tigj = rel[j][n+i],
titj = rel[n+j][n+i],
cigj = 1,
citj = 1,
cicj = 1·

where the ti's commute modulo c1, ·.·, cm and the ci's are central.

## 5.1 Computing Schur extensions

- `SchurExtParPres(` G`)`

  computes the Schur extensions corresponding to the p-power-poly-pcp-groups G and returns them as p-power-poly-pcp-groups.

- `SchurExtParPres(` ParPres`) F`

  computes a consistent pp-presentation of Schur extensions of the groups defined by the record ParPres which describes p-power-poly-pcp-groups. The output is a record rec(rel, expo, n, d, m, prime, cc, expo_vec, name), which describes the Schur extensions as p-power-poly-pcp-groups; it is encoded in a form that it can be used as input for PPPPcpGroups.

      gap> SchurExtParPres( ParPresGlobalVar_2_1[1] );
      rec( prime := 2,
        rel := [ [ [ [ 7, 1 ] ] ], [ [ [ 2, 1 ], [ 3, -1+2*2^x ], [ 6, 1-2*2^x ] ],
                [ [ 3, 1 ], [ 5, 1 ] ] ],
            [ [ [ 3, -1+2*2^x ], [ 4, 1 ], [ 6, 2-2*2^x ] ], [ [ 3, 1 ] ],
                [ [ 4, 1 ], [ 6, 2*2^x ] ] ],
            [ [ [ 4, 1 ] ], [ [ 4, 1 ] ], [ [ 4, 1 ] ], [ [ 4, 0 ] ] ],
            [ [ [ 5, 1 ] ], [ [ 5, 1 ] ], [ [ 5, 1 ] ], [ [ 5, 1 ] ], [ [ 5, 0 ] ] ]
              ,
            [ [ [ 6, 1 ] ], [ [ 6, 1 ] ], [ [ 6, 1 ] ], [ [ 6, 1 ] ], [ [ 6, 1 ] ],
                [ [ 6, 0 ] ] ],
            [ [ [ 7, 1 ] ], [ [ 7, 1 ] ], [ [ 7, 1 ] ], [ [ 7, 1 ] ], [ [ 7, 1 ] ],
                [ [ 7, 1 ] ], [ [ 7, 0 ] ] ] ], n := 2, d := 1, m := 4,
        expo := 2*2^x, expo_vec := [ 2, 0, 0, 0 ], cc := fail, name := "SchurExt_D"
       )

  ## 5.2 Computing other invariants from Schur extensions

- `SchurMultiplicatorsStructurePPPPcps(` G`) F`

  computes the abalian invariants of the Schur multiplicators M(G) of the p-power-poly-pcp-groups G. The output is a list [d1, ·.·, dk] consisting elements di, depending on the underlying parameter, such that M(G) ≅ Cd1 ×…×Cdk.

      gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] );
      < P-Power-Poly pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] >
      SchurMultiplicatorsStructurePPPPcps( G );
      [ 2 ]

- `SchurMultiplicator(` G`) F`

  computes the Schur multiplicators of the p-power-poly-pcp-groups G and then returns the corresponding PPPPcpGroups.

      gap> G := PPPPcpGroup( ParPresGlobalVar_3_1[1] );
      < P-Power-Poly pcp-group with 5 generators of relative orders [ 3,3,3,3*3^x,3*3^x ] >
      gap> SchurMultiplicator( G );
      < P-Power-Poly pcp-groups with 2 generators of relative orders [ 3,9*3^x ] >

- `AbelianInvariants(` G`) F`

  computes the abelian invariants of the p-power-poly-pcp-groups G and returns them as a list of list describing the parametrised elements.

      gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] );
      < P-Power-Poly pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] >
      gap> AbelianInvariants( G );
      [ 2, 2 ]

- `ZeroCohomologyPPPPcps(` G`[,` p`] ) F`

  computes the zero-th-cohomology groups H0(G,R) of the p-power-poly-pcp-groups G with coefficients in R, where R ≅ GF(p) if the prime p is given or R ≅ Z otherwise. The action of G on R is taken to be trivial. The function returns a list of integers [a1,…, ak] where the cohomology group is isomorphic to Ca1 ×…×Cak with Ci a cyclic group of order i (for i > 0) and C0 is interpreted as Z.

      gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] );
      < P-Power-Poly pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] >
      gap> ZeroCohomologyPPPPcp( G, 2 );
      [ 2 ]

- `FirstCohomologyPPPPcps(` G`[,` p`] ) F`

  computes the first-cohomology groups H1(G,R) of the p-power-poly-pcp-groups G with coefficients in R, where R ≅ GF(p) if the prime p is given or R ≅ Z otherwise. The action of G on R is taken to be trivial. The function returns a list of integers [a1,…, ak] where the cohomology group is isomorphic to Ca1 ×…×Cak with Ci a cyclic group of order i (for i > 0) and C0 is interpreted as Z.

      gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] );
      < P-Power-Poly pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] >
      gap> FirstCohomologyPPPPcps( G );
      [  ]

- `SecondCohomologyPPPPcps(` G`[,` p`] ) F`

  computes the second-cohomology groups H2(G,R) of the p-power-poly-pcp-groups G with coefficients in R, where R ≅ GF(p) if the prime p is given or R ≅ Z otherwise. The action of G on R is taken to be trivial. The function returns a list of integers [a1,…, ak] where the cohomology group is isomorphic to Ca1 ×…×Cak with Ci a cyclic group of order i (for i > 0) and C0 is interpreted as Z.

      gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] );
      < P-Power-Poly pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] >
      gap> SecondCohomologyPPPPcps( G, 2 );
      [ 2, 2, 2 ]

  ## 5.3 Info classes for the computation of the Schur extension

  The following info classes are available

- `InfoConsistencyRelPPowerPoly V`

  `level 1`
    shows which consistency relations are computed and gives the result;

  the default value is 0.

- `InfoCollectingPPowerPoly V`

  `level 1`
    shows what is done during collecting;

  the default value is 0.

  [Up] [Previous] [Index]