Homepage Solution manuals David S. Dummit Abstract Algebra Exercise 2.4.12 (The Heisenberg group over $\mathbb{F}_2$ is isomorphic to $D_8$)

Exercise 2.4.12 (The Heisenberg group over $\mathbb{F}_2$ is isomorphic to $D_8$)

Prove that the subgroup of upper triangular matrices in GL 3 ( 𝔽 2 ) is isomorphic to the dihedral group of order 8 (cf. Exercise 16, Section 1). [First find the order of this subgroup.]

Answers

Proof. Let A be an upper triangular matrix in GL 3 ( 𝔽 2 ) . Since det ( A ) 0 is the product of the diagonal elements, all these elements are equal to 1 , so A is of the form

A = ( 1 a b 0 1 c 0 0 1 ) , ( a , b , c ) 𝔽 2 3 ,

thus the subgroup of upper triangular matrices in GL 3 ( 𝔽 2 ) is

G = H ( 𝔽 2 ) GL 3 ( 𝔽 2 ) )

that is G is the Heisenberg group over 𝔽 2 (cf. Exercise 2.2.14).

Therefore the map

ψ { 𝔽 2 3 G ( a , b , c ) ( 1 a b 0 1 c 0 0 1 )

is bijective, so

| G | = | H ( 𝔽 2 ) | = | 𝔽 2 3 | = 8 .

The dihedral group D 8 is given by the presentation

D 8 = r , s r 4 = s 2 = e , sr = r 3 s

(Let us denote r , s the generators of D 8 , with some abuse of language: the generators are r ¯ = rN , s ¯ = sN F ( t , s ) N , where N is the normal subgroup of the free group F ( r , s ) generated by r 4 , s 2 , s 1 r 3 sr .)

Put

S = ( 1 1 0 0 1 0 0 0 1 ) , R = ( 1 1 1 0 1 1 0 0 1 ) .

Then R , S G and

R , S { I , R , R 2 , R 3 , S , RS , R S 2 , R S 3 } = { ( 1 0 0 0 1 0 0 0 1 ) , ( 1 1 1 0 1 1 0 0 1 ) , ( 1 0 1 0 1 0 0 0 1 ) , ( 1 1 0 0 1 1 0 0 1 ) , ( 1 1 0 0 1 0 0 0 1 ) , ( 1 0 1 0 1 1 0 0 1 ) , ( 1 1 1 0 1 0 0 0 1 ) , ( 1 0 0 0 1 1 0 0 1 ) } ,

where these 8 matrices are distinct.

Therefore R , S G (and R , S G ), so

G = R , S .

Moreover R 4 = S 2 = I 2 and SR = R 3 S .

By van Dyck’s Theorem (see Note in Exercise 2.4.7), there is a surjective homomorphism φ : D 8 G such that φ ( r ) = R , φ ( s ) = S . Since | D 8 | = | G | = 8 , φ is an isomorphism, so

H ( 𝔽 2 ) D 8 .

With Sagemath:

sage: F = GF(2)
sage: S =  matrix(F, 3, [1, 1, 0, 0, 1,0, 0,0,1 ]);
sage: R =  matrix(F, 3, [1, 1, 1, 0, 1,1, 0,0,1 ]);
sage: gens = [R,S]
sage: G = MatrixGroup(gens)
sage: G.order()
8
sage: R^4 , S^2

(
[1 0 0]  [1 0 0]
[0 1 0]  [0 1 0]
[0 0 1], [0 0 1]
)
sage: S * R, R^3 * S

(
[1 0 0]  [1 0 0]
[0 1 1]  [0 1 1]
[0 0 1], [0 0 1]
)
sage: l = [R^k for k in range(4)] + [R^k * S for k in range(4)]; l

[
[1 0 0]  [1 1 1]  [1 0 1]  [1 1 0]  [1 1 0]  [1 0 1]  [1 1 1]  [1 0 0]
[0 1 0]  [0 1 1]  [0 1 0]  [0 1 1]  [0 1 0]  [0 1 1]  [0 1 0]  [0 1 1]
[0 0 1], [0 0 1], [0 0 1], [0 0 1], [0 0 1], [0 0 1], [0 0 1], [0 0 1]
]
sage: latex(l)
(...)

User profile picture
2025-10-26 09:53
Comments