Torsion subcomplexes

The torsion subcomplexes subpackage has been conceived and implemented by Alexander D. Rahm.
IsPnormal
IsPnormal( G, p)

Inputs a finite group G and a prime p. Checks if the group G is p-normal for the prime p. Zassenhaus defines a finite group to be p-normal if the center of one of its Sylow p-groups is the center of every Sylow p-group in which it is contained.
TorsionSubcomplex
TorsionSubcomplex( groupName, p)

Inputs a cell complex with action of a group. In HAP, presently the following cell complexes with stabilisers fixing their cells pointwise are available, specified by the following "groupName" strings:
"SL(2,O-2)" , "SL(2,O-7)" , "SL(2,O-11)" , "SL(2,O-19)" , "SL(2,O-43)" , "SL(2,O-67)" , "SL(2,O-163)",
where the symbol O[-m] stands for the ring of integers in the imaginary quadratic number field Q(sqrt(-m)), the latter being the extension of the field of rational numbers by the square root of minus the square-free positive integer m. The additive structure of this ring O[-m] is given as the module Z[omega] over the natural integers Z with basis {1, omega}, and omega being the square root of minus m if m is congruent to 1 or 2 modulo four; else, in the case m congruent 3 modulo 4, the element omega is the arithmetic mean with 1, namely (1+sqrt(-m))/2.
The function TorsionSubcomplex prints the cells with p-torsion in their stabilizer on the screen and returns the incidence matrix of the 1-skeleton of this cellular subcomplex, as well as a Boolean value on whether the cell complex has its cell stabilisers fixing their cells pointwise.
It is also possible to input the cell complexes
"SL(2,Z)" , "SL(3,Z)" , "PGL(3,Z[i])" , "PGL(3,Eisenstein_Integers)" , "PSL(4,Z)" , "PSL(4,Z)_b" , "PSL(4,Z)_c" , "PSL(4,Z)_d" , "Sp(4,Z)"
provided by Mathieu Dutour.
DisplayAvailableCellComplexes
DisplayAvailableCellComplexes();

Displays the cell complexes that are available in HAP.
VisualizeTorsionSkeleton
VisualizeTorsionSkeleton( groupName, p)

Executes the function TorsionSubcomplex( groupName, p) and visualizes its output, namely the incidence matrix of the 1-skeleton of the p-torsion subcomplex, as a graph.
ReduceTorsionSubcomplex
ReduceTorsionSubcomplex( groupName, p)

This function start with the same operations as the function TorsionSubcomplex( groupName, p), and if the cell stabilisers are fixing their cells pointwise, it continues as follows.
It prints on the screen which cells to merge and which edges to cut off in order to reduce the p-torsion subcomplex without changing the equivariant Farrell cohomology. Finally, it prints the representative cells, their stabilizers and the Abelianization of the latter.