Get the small group id of the Heisenberg group over F_2[x]/(x^2)
Hello everyone. I want to find information, in particular the small group id in the GAP library, of the Heisenber group over the ring F_2[x]/(x^2), which is small in order (4) but "complicated" in term of construction. The naive idea using the method
groups.matrix.Heisenberg
does not work because it only accepts finite fields and rings of integers modulo n as base rings. So I tried to construct explicitely the group:
P.<x> = GF(2)[]
R.<xx> = QuotientRing(P, P.ideal(x^2))
M = MatrixSpace(R, 3)
H = []
for a in R:
for b in R:
for c in R:
matrix = M([[1, a, b], [0, 1, c], [0, 0, 1]])
H.append(matrix)
HeisenbergGroup = MatrixGroup(H)
However, I can't use the method group_id
because HeisenbergGroup.category
shows that it is an object of FinitelyGeneratedMatrixGroup_generic_with_category
, not of FinitelyGeneratedMatrixGroup_gap_with_category
. (The same situation still happens even if I replace R by a slightly more simple ring
R = cartesian_product([GF(2),GF(2)])
I was wondering if there are some clever ways to get round the problem. Thank you in advance.
It looks like a missing functionality (no
.as_permutation_group()
method) for MatrixGroups. I'd suggest to file a feature request at https://github.com/sagemath/sage/issuesThank you for your suggestion! :)