Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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.