Semi Direct Product of Groups via Oscar for 2BGA given ℤₗ⋉ℤₘ
and presentation
#382
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Given a group presentation, and cyclic groups of order
l
,m
, etc, this PR introduces Semi Direct Product of Groups viaOscar
for the group structure required by the code construction. This PR aims to define all the 2BGA codes that are currently not supported by the HeckeExt. Currently, the GroupAlgebra only supports one cyclic group, meaningGroupAlgebra(GF(2), abelian_group(l))
but not group structure for the following cases which are covered in this PR:These cases can be seen from Table 1 of https://arxiv.org/pdf/2306.16400.
I have utilized Direct Product of Groups in previous PRs which can be similarly applied here as well. In addition, these codes rely on the use of Semi Direct Product of Groups, which is found in
Oscar
. As seen for example aforementioned instances, most of the codes uses structure that is given by Semi Direct Product of Groups with some Direct Product of Groups. The previous PRs introduced the use of Direct Product of Groups which can accurately use the code instance that uses Direct Product. In this PR, Semi Direct Product of Groups is covered.I think Oscar will be needed as a weak dependency for HeckeExt for all the cases described above to be used for circuit simulation. The authors has also considered some non-abelian groups, such as Dihedral Group with this presentation for defining direct products of these groups as well. Other groups in consideration are: Alternating Group, Symmetric Group for Direct Product of groups.
They used
GAP
for these calculations and defining group structures in the table, so I will have to check the methods inGAP
as well. Specifically,StructureDescription(SmallGroup(ℓ,#))
fromGAP
was used by them. The documentation for StructureDescription fromGAP
.Huge thanks to Stevell from the Oscar team for valuable feedback about this generalization of direct product of groups.