This function checks whether the Zassenhaus Conjecture ((ZC) for short, cf. Section 5.1) can be proved using the HeLP method with the data available in GAP.

`‣ HeLP_ZC` ( OrdinaryCharacterTable|Group ) | ( function ) |

Returns: `true`

if (ZC) can be solved using the given data, `false`

otherwise

`HeLP_ZC`

checks whether the Zassenhaus Conjecture can be solved for the given group using the HeLP method, the Wagner test and all character data available. The argument of the function can be either an ordinary character table or a group. In the second case it will first calculate the corresponding ordinary character table. If the group in question is nilpotent, the Zassenhaus Conjecture holds by a result of A. Weiss and the function will return `true`

without performing any calculations.

If the group is not solvable, the function will check all orders which are divisors of the exponent of the group. If the group is solvable, it will only check the orders of group elements, as there can't be any torsion units of another order. The function will use the ordinary table and, for the primes \(p\) for which the group is not \(p\)-solvable, all \(p\)-Brauer tables which are available in GAP to produce as many constraints on the torsion units as possible. Additionally, the Wagner test is applied to the results, cf. Section 5.4. In case the information suffices to obtain a proof for the Zassenhaus Conjecture for this group the function will return `true`

and `false`

otherwise. The possible partial augmentations for elements of order \(k\) and all its powers will also be stored in the list entry `HeLP_sol[k]`

.

The prior computed partial augmentations in `HeLP_sol`

will not be used and will be overwritten. If you do not like the last fact, please use `HeLP_AllOrders`

(3.3-1).

gap> G := AlternatingGroup(5); Alt( [ 1 .. 5 ] ) gap> HeLP_ZC(G); true gap> C := CharacterTable("A5"); CharacterTable( "A5" ) gap> HeLP_ZC(C); true gap> HeLP_sol; [ [ [ [ 1 ] ] ], [ [ [ 1 ] ] ], [ [ [ 1 ] ] ],, [ [ [ 0, 1 ] ], [ [ 1, 0 ] ] ], [ ],,,, [ ],,,,, [ ],,,,,,,,,,,,,,, [ ] ] gap> HeLP_PrintSolution(); Solutions for elements of order 2: [ [ u ], [ [ "2a" ] ], [ --- ], [ [ 1 ] ] ] Solutions for elements of order 3: [ [ u ], [ [ "3a" ] ], [ --- ], [ [ 1 ] ] ] Solutions for elements of order 5: [ [ u ], [ [ "5a", "5b" ] ], [ --- ], [ [ 0, 1 ] ], [ [ 1, 0 ] ] ] There are no admissible partial augmentations for elements of order 6. There are no admissible partial augmentations for elements of order 10. There are no admissible partial augmentations for elements of order 15. There are no admissible partial augmentations for elements of order 30.

This is the classical example of Luthar and Passi to verify the Zassenhaus Conjecture for the alternating group of degree 5, cf. [LP89]. In the first call of `HeLP_ZC`

this is checked using the character table computed by GAP using the given group, the second call uses the character table from the character table library. The entries of `HeLP_sol`

are

lists with entries 0 and 1 (at the spots 1, 2, 3 and 5, which correspond to torsion units that are conjugate to group elements),

empty lists (at the spots 6, 10, 15 and 30, stating that there are no admissible partial augmentations for these orders),

or are not bound (these orders were not checked as they don't divide the exponent of the group).

The function `HeLP_PrintSolution`

(3.9-1) can be used to display the result in a pretty way.

gap> C := CharacterTable( "A6" ); CharacterTable( "A6" ) gap> SetInfoLevel(HeLP_Info, 2); gap> HeLP_ZC(C); #I Checking order 2. #I Checking order 3. #I Checking order 4. #I Checking order 5. #I Checking order 6. #I Checking order 10. #I Checking order 12. #I Checking order 15. #I Checking order 20. #I Checking order 30. #I Checking order 60. #I ZC can't be solved, using the given data, for the orders: [ 6 ]. false gap> HeLP_sol[6]; [ [ [ 1 ], [ 0, 1 ], [ -2, 2, 1 ] ], [ [ 1 ], [ 1, 0 ], [ -2, 1, 2 ] ] ] gap> HeLP_PrintSolution(6); Solutions for elements of order 6: [ [ u^3, u^2, u ], [ [ "2a" ], [ "3a", "3b" ], [ "2a", "3a", "3b" ] ], [ ---, ---, --- ], [ [ 1 ], [ 0, 1 ], [ -2, 2, 1 ] ], [ [ 1 ], [ 1, 0 ], [ -2, 1, 2 ] ] ] gap> SetInfoLevel(HeLP_Info, 1);

This is the example M. Hertweck deals with in his article [Her08c]. The HeLP-method is not sufficient to verify the Zassenhaus Conjecture for this group. There are two tuples of possible partial augmentations for torsion units of order 6 which are admissible by the HeLP method. M. Hertweck used a different argument to eliminate these possibilities.

gap> G := SmallGroup(48,30);; gap> StructureDescription(G); "A4 : C4" gap> HeLP_ZC(G); #I ZC can't be solved, using the given data, for the orders: [ 4 ]. false gap> Size(HeLP_sol[4]); 10

The group SmallGroup(48,30) is the smallest group for which the HeLP method does not suffice to prove the Zassenhaus Conjecture. However (ZC) was proved for this group in [HK06], Proposition 4.2.

gap> C1 := CharacterTable(SymmetricGroup(5)); CharacterTable( Sym( [ 1 .. 5 ] ) ) gap> HeLP_ZC(C1); #I The Brauer tables for the following primes are not available: [ 2, 3, 5 ]. #I ZC can't be solved, using the given data, for the orders: [ 4, 6 ]. false gap> C2 := CharacterTable("S5"); CharacterTable( "A5.2" ) gap> HeLP_ZC(C2); true

This example demonstrates the advantage of using the GAP character table library: Since GAP can't compute the Brauer tables from the ordinary table of \(S_5\) in the current implementation, they are not used in the first calculation. But in the second calculation `HeLP_ZC`

accesses the Brauer tables from the library and can prove the Zassenhaus Conjecture for this group, see [Her07], Section 5. This example might of course change as soon as GAP will be able to compute the needed Brauer tables.

gap> C := CharacterTable("M11"); CharacterTable( "M11" ) gap> HeLP_ZC(C); #I ZC can't be solved, using the given data, for the orders: [ 4, 6, 8 ]. false gap> HeLP_sol[12]; [ ] gap> HeLP_PrintSolution(8); Solutions for elements of order 8: [ [ u^4, u^2, u ], [ [ "2a" ], [ "2a", "4a" ], [ "2a", "4a", "8a", "8b" ] ], [ ---, ---, --- ], [ [ 1 ], [ 0, 1 ], [ 0, 0, 0, 1 ] ], [ [ 1 ], [ 0, 1 ], [ 0, 0, 1, 0 ] ], [ [ 1 ], [ 0, 1 ], [ 0, 2, -1, 0 ] ], [ [ 1 ], [ 0, 1 ], [ 0, 2, 0, -1 ] ], [ [ 1 ], [ 2, -1 ], [ 0, 0, 0, 1 ] ], [ [ 1 ], [ 2, -1 ], [ 0, 0, 1, 0 ] ], [ [ 1 ], [ 2, -1 ], [ 0, 2, -1, 0 ] ], [ [ 1 ], [ 2, -1 ], [ 0, 2, 0, -1 ] ] ]

Comparing this example to the result in [BK07a] one sees, that the existence of elements of order 12 in \(\mathrm{V}(\mathbb{Z}M_{11})\) may not be eliminated using only the HeLP method. This may be done however by applying also the Wagner test, cf. Section 5.4 and the example for the function `HeLP_WagnerTest`

(3.7-1).

This example also demonstrates, why also the partial augmentations of the powers of \(u\) must be stored (and not only the partial augmentations of \(u\)). To prove that all elements of order \(8\) in \(\mathrm{V}(\mathbb{Z}M_{11})\) are rationally conjugate to group elements, it is not enough to prove that all elements \(u\) of order \(8\) in \(\mathrm{V}(\mathbb{Z}M_{11})\) have all partial augmentations \(1\) and \(0\), as the fifth and sixth possibility from above still could exist in \(\mathrm{V}(\mathbb{Z}M_{11})\), which would not be rationally conjugate to group elements.

gap> G := SmallGroup(144, 117); <pc group of size 144 with 6 generators> gap> HeLP_ZC(G); true

This seems to contradict the result of [BHK+18]. This is due to the fact that the HeLP-package, from version 4.0 on, does include additional restrictions on partial augmentations, in particular a result of Hertweck on p-adic conjugacy which is relevant for this group, cf. Section 5.2.

This function checks whether the Prime Graph Question ((PQ) for short, cf. Section 5.1) can be verified using the HeLP method with the data available in GAP.

`‣ HeLP_PQ` ( OrdinaryCharacterTable|Group ) | ( function ) |

Returns: `true`

if (PQ) can be solved using the given data, `false`

otherwise

`HeLP_PQ`

checks whether an affirmative answer for the Prime Graph Question for the given group can be obtained using the HeLP method, the Wagner restrictions and the data available. The argument of the function can be either an ordinary character table or a group. In the second case it will first calculate the corresponding ordinary character table. If the group in question is solvable, the Prime Graph Question has an affirmative answer by a result of W. Kimmerle and the function will return `true`

without performing any calculations.

If the group is non-solvable, the ordinary character table and all \(p\)-Brauer tables for primes \(p\) for which the group is not \(p\)-solvable and which are available in GAP will be used to produce as many constraints on the torsion units as possible. Additionally, the Wagner test is applied to the results, cf. Section 5.4. In case the information suffices to obtain an affirmative answer for the Prime Graph Question, the function will return `true`

and it will return `false`

otherwise. Let \(p\) and \(q\) be distinct primes such that there are elements of order \(p\) and \(q\) in \(G\) but no elements of order \(pq\). Then for \(k\) being \(p\), \(q\) or \(pq\) the function will save the possible partial augmentations for elements of order \(k\) and its (non-trivial) powers in `HeLP_sol[k]`

. The function also does not use the previously computed partial augmentations for elements of these orders but will overwrite the content of `HeLP_sol`

. If you do not like the last fact, please use `HeLP_AllOrdersPQ`

(3.3-2).

gap> C := CharacterTable("A7"); CharacterTable( "A7" ) gap> HeLP_PQ(C); true

The Prime Graph Question for the alternating group of degree 7 was first proved by M. Salim [Sal11].

gap> C := CharacterTable("L2(19)"); CharacterTable( "L2(19)" ) gap> HeLP_PQ(C); true gap> HeLP_ZC(C); #I (ZC) can't be solved, using the given data, for the orders: [ 10 ]. false gap> HeLP_sol[10]; [ [ [ 1 ], [ 0, 1 ], [ 0, -1, 1, 0, 1 ] ], [ [ 1 ], [ 0, 1 ], [ 0, 0, 0, 1, 0 ] ], [ [ 1 ], [ 1, 0 ], [ 0, 0, 0, 0, 1 ] ], [ [ 1 ], [ 1, 0 ], [ 0, 1, -1, 1, 0 ] ] ]

The HeLP method provides an affirmative answer to the Prime Graph Question for the group L2(19), although the method doesn't solve the Zassenhaus Conjecture for that group, as there are two sets of possible partial augmentations for units of order 10 left, which do not correspond to elements which are rationally conjugate to group elements. The Zassenhaus Conjecture for this group is proved in [BM17b].

gap> C1 := CharacterTable(PSL(2,7)); CharacterTable( Group([ (3,7,5)(4,8,6), (1,2,6)(3,4,8) ]) ) gap> HeLP_PQ(C1); #I The Brauer tables for the following primes are not available: [ 2, 3, 7 ]. #I PQ can't be solved, using the given data, for the orders: [ 6 ]. false gap> C2 := CharacterTable("L2(7)"); CharacterTable( "L3(2)" ) gap> HeLP_PQ(C2); true

This example demonstrates the advantage of using tables from the GAP character table library: Since GAP can not compute the Brauer tables corresponding to `C1`

they are not used in the first calculation. But in the second calculation `HeLP_PQ`

accesses the Brauer tables from the library and can prove the Prime Graph Question for this group, see [Her07], Section 6. This example might change, as soon as GAP will be able to compute the Brauer tables needed.

gap> SetInfoLevel(HeLP_Info,2); gap> C := CharacterTable("A6"); CharacterTable( "A6" ) gap> HeLP_PQ(C); #I Checking order 2. #I Checking order 3. #I Checking order 5. #I Checking order 6. #I Checking order 10. #I Checking order 15. #I PQ can't be solved, using the given data, for the orders: [ 6 ]. false gap> SetInfoLevel(HeLP_Info,1);

The Prime Graph Question can not be confirmed for the alternating group of degree 6 with the HeLP-method. This group is handled in [Her08c] by other means.

gap> C := CharacterTable("L2(49)"); CharacterTable( "L2(49)" ) gap> HeLP_PQ(C); #I The Brauer tables for the following primes are not available: [ 7 ]. #I (PQ) can't be solved, using the given data, for the orders: [ 10, 15 ]. false

This example shows the limitations of the program. Using the Brauer table for the prime 7 one can prove (PQ) for PSL(2,49), but this data is not available in GAP at the moment. The fact that there are no torsion units of order 10 and 15 was proved in [Her07], Proposition 6.7. See also the example in Section 4.5. The other critical orders were handled in a more general context in [BM17a].

This function checks whether the Spectrum Problem ((SP) for short, cf. Section 5.1) can be verified using the HeLP method with the data available in GAP.

`‣ HeLP_SP` ( OrdinaryCharacterTable|Group ) | ( function ) |

Returns: `true`

if (SP) can be solved using the given data, `false`

otherwise

`HeLP_SP`

checks whether an affirmative answer for the Spectrum Problem for the given group can be obtained using the HeLP method, the Wagner restrictions and the data available. The argument of the function can be either an ordinary character table or a group. In the second case it will first calculate the corresponding ordinary character table. If the group in question is solvable, the Spectrum Problem has an affirmative answer by a result of M. Hertweck and the function will return `true`

without performing any calculations.

If the group is non-solvable, the ordinary character table and all \(p\)-Brauer tables for primes \(p\) for which the group is not \(p\)-solvable and which are available in GAP will be used to produce as many constraints on the torsion units as possible. Additionally, the Wagner test is applied to the results, cf. Section 5.4. In case the information suffices to obtain an affirmative answer for the Spectrum Problem, the function will return `true`

and it will return `false`

otherwise. The possible partial augmentations for elements of order \(k\) and all its powers will also be stored in the list entry `HeLP_sol[k]`

.

The function also does not use the previously computed partial augmentations for elements of these orders but will overwrite the content of `HeLP_sol`

. If you do not like the last fact, please use `HeLP_AllOrdersSP`

(3.3-3).

The Prime Graph Question for the first Janko group was studied in [BJK11] and solved positively using the HeLP-method. We note that this is not possible for the Spectrum Problem.

gap> C := CharacterTable("J1"); CharacterTable( "J1" ) gap> HeLP_PQ(C); true gap> HeLP_SP(C); #I (SP) can't be solved, using the given data, for the orders: [ 30 ]. false

The Spectrum Problem is still known to have a positive answer for the first Janko group by [BM21], Proposition 3.8.

This function checks whether the Kimmerle Problem ((KP) for short, cf. Section 5.1) can be verified using the HeLP method with the data available in GAP.

`‣ HeLP_KP` ( OrdinaryCharacterTable|Group ) | ( function ) |

Returns: `true`

if (KP) can be solved using the given data, `false`

otherwise

`HeLP_KP`

checks whether an affirmative answer for the Kimmerle Problem for the given group can be obtained using the HeLP method, the Wagner restrictions and the data available. The argument of the function can be either an ordinary character table or a group. In the second case it will first calculate the corresponding ordinary character table. If the group in question is nilpotent, then even the Zassenahus Conjecture and so also the Kimmerle Problem has an affirmative answer by a result of Al Weiss and the function will return `true`

without performing any calculations.

If the group is non-nilpotent, the ordinary character table and all \(p\)-Brauer tables for primes \(p\) for which the group is not \(p\)-solvable and which are available in GAP will be used to produce as many constraints on the torsion units as possible. Additionally, the Wagner test is applied to the results, cf. Section 5.4. In case the information suffices to obtain an affirmative answer for the Kimmerle Problem, the function will return `true`

and it will return `false`

otherwise. The possible partial augmentations for elements of order \(k\) and all its powers will also be stored in the list entry `HeLP_sol[k]`

.

The function also does not use the previously computed partial augmentations for elements of these orders but will overwrite the content of `HeLP_sol`

. If you do not like the last fact, please use `HeLP_AllOrdersKP`

(3.3-4).

gap> G := SmallGroup(216, 33); <pc group of size 216 with 6 generators> gap> HeLP_ZC(G); #I (ZC) can't be solved, using the given data, for the orders: [ 12 ]. false gap> HeLP_KP(G); true gap> C := CharacterTable("L2(19)"); CharacterTable( "L2(19)" ) HeLP_ZC(C); #I (ZC) can't be solved, using the given data, for the orders: [ 10 ]. false gap> HeLP_KP(C); true gap> C := CharacterTable("A7"); CharacterTable( "A7" ) gap> HeLP_KP(C); #I (KP) can't be solved, using the given data, for the orders: [ 4, 6 ]. false gap> HeLP_sol[6]; [ [ [ 1 ], [ 0, 1 ], [ -2, 2, 1, 0 ] ], [ [ 1 ], [ 0, 1 ], [ 0, 1, -1, 1 ] ], [ [ 1 ], [ 0, 1 ], [ 2, -1, 1, -1 ] ], [ [ 1 ], [ 1, 0 ], [ -2, 1, 2, 0 ] ], [ [ 1 ], [ 1, 0 ], [ 0, 0, 0, 1 ] ], [ [ 1 ], [ 1, 0 ], [ 2, 0, 0, -1 ] ] ]

We see remark that units of order 6 are known to be rationally conjugate to trivial units by other methods [BM21]. For order 4 however, this remains open.

generated by GAPDoc2HTML