Closed aidevnn closed 1 year ago
Extension by C2, is easy to begin with. It already allows to create all groups of order 4, 8 and 16 recursively.
For groups of order 32, at this time, i build 44 groups by this way, need to correct some things to complete all 51 groups of order 32 in one shot.
It works. All 51 groups of order 32 found in one shot through Extension by C2 of all 14 groups of order 16. Let's push it now.
After numerous iterations, each lasting approximately 50 minutes, we successfully identified all 51 groups of order 32 using the Extension by C2 method. The process of searching for twisted actions was relatively quick, taking only a few minutes. However, the more time-consuming operation was filtering out redundancy by isomorphism.
Subsequent verifications were conducted manually with the assistance of GAP. By counting subgroups, conjugacy classes, and normal subgroups, we were able to identify 50 groups, with the exception of C8x:C2.
The code must be improved, and this challenge was very interesting to introduce Group Cohomology and Universal property of Extension.
Exemples of outputs.
##########################################################
################ Ext no 1 found ######################
##########################################################
|Sm32[1]| = 32
Type NonAbelianGroup
BaseGroup Q16 . C2
Elements Orders : [1]:1, [2]:3, [4]:20, [8]:8
AllSubGr:38 AllConjsCl:30 AllNorms:22
##########################################################
################ Ext no 2 found ######################
##########################################################
|Sm32[2]| = 32
Type NonAbelianGroup
BaseGroup Q16 . C2
Elements Orders : [1]:1, [2]:11, [4]:12, [8]:8
AllSubGr:46 AllConjsCl:31 AllNorms:20
##########################################################
################ Ext no 3 found ######################
##########################################################
|Sm32[3]| = 32
Type NonAbelianGroup
BaseGroup Q16 . C2
Elements Orders : [1]:1, [2]:7, [4]:16, [8]:8
AllSubGr:42 AllConjsCl:30 AllNorms:20
##########################################################
################ Ext no 4 found ######################
##########################################################
|Sm32[4]| = 32
Type NonAbelianGroup
BaseGroup Q16 . C2
Elements Orders : [1]:1, [2]:9, [4]:10, [8]:4, [16]:8
AllSubGr:28 AllConjsCl:13 AllNorms:8
##########################################################
################ Ext no 5 found ######################
##########################################################
|Sm32[5]| = 32
Type NonAbelianGroup
BaseGroup Q16 . C2
Elements Orders : [1]:1, [2]:1, [4]:18, [8]:4, [16]:8
AllSubGr:20 AllConjsCl:12 AllNorms:8
.
.
.
.
##########################################################
################ Ext no 10 found ######################
##########################################################
|Sm32[10]| = 32
Type NonAbelianGroup
BaseGroup (C2 x Q8) . C2
Elements Orders : [1]:1, [2]:15, [4]:16
AllSubGr:94 AllConjsCl:82 AllNorms:70
##########################################################
################ Ext no 11 found ######################
##########################################################
|Sm32[11]| = 32
Type NonAbelianGroup
BaseGroup (C2 x Q8) . C2
Elements Orders : [1]:1, [2]:11, [4]:20
AllSubGr:58 AllConjsCl:38 AllNorms:22
.
.
.
.
##########################################################
################ Ext no 16 found ######################
##########################################################
|Sm32[16]| = 32
Type NonAbelianGroup
BaseGroup (C8x:C2) . C2
Elements Orders : [1]:1, [2]:7, [4]:8, [8]:16
AllSubGr:38 AllConjsCl:34 AllNorms:30
##########################################################
################ Ext no 17 found ######################
##########################################################
|Sm32[17]| = 32
Type NonAbelianGroup
BaseGroup (C8x:C2) . C2
Elements Orders : [1]:1, [2]:11, [4]:4, [8]:16
AllSubGr:42 AllConjsCl:23 AllNorms:12
##########################################################
################ Ext no 18 found ######################
##########################################################
|Sm32[18]| = 32
Type NonAbelianGroup
BaseGroup (C8x:C2) . C2
Elements Orders : [1]:1, [2]:3, [4]:12, [8]:16
AllSubGr:26 AllConjsCl:19 AllNorms:12
##########################################################
################ Ext no 19 found ######################
##########################################################
|Sm32[19]| = 32
Type NonAbelianGroup
BaseGroup (C8x:C2) . C2
Elements Orders : [1]:1, [2]:7, [4]:8, [8]:16
AllSubGr:34 AllConjsCl:31 AllNorms:28
.
.
.
.
##########################################################
################ Ext no 27 found ######################
##########################################################
|Sm32[27]| = 32
Type NonAbelianGroup
BaseGroup ((C4xC2)x:C2) . C2
Elements Orders : [1]:1, [2]:19, [4]:12
AllSubGr:106 AllConjsCl:65 AllNorms:26
##########################################################
################ Ext no 28 found ######################
##########################################################
|Sm32[28]| = 32
Type NonAbelianGroup
BaseGroup ((C4xC2)x:C2) . C2
Elements Orders : [1]:1, [2]:11, [4]:20
AllSubGr:58 AllConjsCl:39 AllNorms:22
##########################################################
################ Ext no 29 found ######################
##########################################################
|Sm32[29]| = 32
Type NonAbelianGroup
BaseGroup ((C4xC2)x:C2) . C2
Elements Orders : [1]:1, [2]:15, [4]:16
AllSubGr:74 AllConjsCl:47 AllNorms:24
##########################################################
################ Ext no 30 found ######################
##########################################################
|Sm32[30]| = 32
Type NonAbelianGroup
BaseGroup ((C4xC2)x:C2) . C2
Elements Orders : [1]:1, [2]:11, [4]:12, [8]:8
AllSubGr:46 AllConjsCl:25 AllNorms:14
.
.
.
.
##########################################################
################ Ext no 39 found ######################
##########################################################
|Sm32[39]| = 32
Type AbelianGroup
BaseGroup C16 . C2
Elements Orders : [1]:1, [2]:3, [4]:4, [8]:8, [16]:16
AllSubGr:14 AllConjsCl:14 AllNorms:14
##########################################################
################ Ext no 40 found ######################
##########################################################
|Sm32[40]| = 32
Type AbelianGroup
BaseGroup C16 . C2
Elements Orders : [1]:1, [2]:1, [4]:2, [8]:4, [16]:8, [32]:16
AllSubGr:6 AllConjsCl:6 AllNorms:6
##########################################################
################ Ext no 41 found ######################
##########################################################
|Sm32[41]| = 32
Type NonAbelianGroup
BaseGroup C16 . C2
Elements Orders : [1]:1, [2]:3, [4]:4, [8]:8, [16]:16
AllSubGr:14 AllConjsCl:13 AllNorms:12
##########################################################
################ Ext no 42 found ######################
##########################################################
|Sm32[42]| = 32
Type AbelianGroup
BaseGroup (C8 x C2) . C2
Elements Orders : [1]:1, [2]:7, [4]:8, [8]:16
AllSubGr:38 AllConjsCl:38 AllNorms:38
##########################################################
################ Ext no 43 found ######################
##########################################################
|Sm32[43]| = 32
Type AbelianGroup
BaseGroup (C8 x C2) . C2
Elements Orders : [1]:1, [2]:3, [4]:12, [8]:16
AllSubGr:22 AllConjsCl:22 AllNorms:22
.
.
.
.
##########################################################
################ Ext no 49 found ######################
##########################################################
|Sm32[49]| = 32
Type AbelianGroup
BaseGroup (C4 x C2 x C2) . C2
Elements Orders : [1]:1, [2]:15, [4]:16
AllSubGr:118 AllConjsCl:118 AllNorms:118
##########################################################
################ Ext no 50 found ######################
##########################################################
|Sm32[50]| = 32
Type NonAbelianGroup
BaseGroup (C4 x C2 x C2) . C2
Elements Orders : [1]:1, [2]:7, [4]:24
AllSubGr:50 AllConjsCl:38 AllNorms:26
##########################################################
################ Ext no 51 found ######################
##########################################################
|Sm32[51]| = 32
Type AbelianGroup
BaseGroup (C2 x C2 x C2 x C2) . C2
Elements Orders : [1]:1, [2]:31
AllSubGr:374 AllConjsCl:374 AllNorms:374
This issue should be reconsidered and reopened.
The current approach only utilizes the group property of 2-cocycles. However, 2-coboundaries, which form a subgroup of 2-cocycles, seem simpler to compute. Each newly discovered cocycle can be added to the 2-coboundaries to generate additional solutions, even if they might not be useful.
This method can help in exploring the cohomology for very small groups, allowing us to find effective solutions and enhance them over time.
A short exact sequence is a multipurpose tool for constructing groups, as it generalizes the notions of direct product, semidirect product, and non-split extension.
Then 2-coboundary computation enables the collection of 2-cocycles in cosets and improves the accuracy of the Depth First Search, to create all groups of the same order in one shot. This is a good start for manipulating group cohomology and this issue can now be closed.
https://github.com/aidevnn/FastGoat/blob/f4a0e060d23f0b01c656152e9bb56c24711cba0a/FastGoat/Examples/NonSplitExtensionPart2.cs#L64-L66
The example of creating an Extension E from two groups N and G was invalid. It is impractical to compute all twisted actions for all maps exhaustively, and it needs to be fixed for exploring more groups of order 32.