Skip to main content
\(\newcommand{\identity}{\mathrm{id}} \newcommand{\notdivide}{\nmid} \newcommand{\notsubset}{\not\subset} \newcommand{\lcm}{\operatorname{lcm}} \newcommand{\gf}{\operatorname{GF}} \newcommand{\inn}{\operatorname{Inn}} \newcommand{\aut}{\operatorname{Aut}} \newcommand{\Hom}{\operatorname{Hom}} \newcommand{\cis}{\operatorname{cis}} \newcommand{\chr}{\operatorname{char}} \newcommand{\Null}{\operatorname{Null}} \newcommand{\transpose}{\text{t}} \newcommand{\lt}{<} \newcommand{\gt}{>} \newcommand{\amp}{&} \setcounter{chapter}{-1}\)

Section8.3Direct Products

Given two groups \(G\) and \(H\text{,}\) it is possible to construct a new group from the Cartesian product of \(G\) and \(H\text{,}\) \(G \times H\text{.}\) Conversely, given a large group, it is sometimes possible to decompose the group; that is, a group is sometimes isomorphic to the direct product of two smaller groups. Rather than studying a large group \(G\text{,}\) it is often easier to study the component groups of \(G\text{.}\)

Subsection8.3.1External Direct Products

If \((G,\cdot)\) and \((H, \circ)\) are groups, then we can make the Cartesian product of \(G\) and \(H\) into a new group. As a set, our group is just the ordered pairs \((g, h) \in G \times H\) where \(g \in G\) and \(h \in H\text{.}\) We can define a binary operation on \(G \times H\) by

\begin{equation*} (g_1, h_1)(g_2, h_2) = (g_1 \cdot g_2, h_1 \circ h_2); \end{equation*}

that is, we just multiply elements in the first coordinate as we do in \(G\) and elements in the second coordinate as we do in \(H\text{.}\) We have specified the particular operations \(\cdot\) and \(\circ\) in each group here for the sake of clarity; we usually just write \((g_1, h_1)(g_2, h_2) = (g_1 g_2, h_1 h_2)\text{.}\)


Some authors, notably Joe Gallian, use the "direct sum" notation to denote the external direct product of two groups, so instead of writing (for instance) \(G\times H\text{,}\) these authors will write

\begin{equation*} G\oplus H. \end{equation*}

For our purposes in this course, we will consider these to be two different names for exactly the same thing. If you're interested in why the distinction might matter in higher studies of abstract algebra, this StackExchange discussion can provide some initial context.

Clearly the binary operation defined above is closed. If \(e_G\) and \(e_H\) are the identities of the groups \(G\) and \(H\) respectively, then \((e_G, e_H)\) is the identity of \(G \times H\text{.}\) The inverse of \((g, h) \in G \times H\) is \((g^{-1}, h^{-1})\text{.}\) The fact that the operation is associative follows directly from the associativity of \(G\) and \(H\text{.}\)


Let \({\mathbb R}\) be the group of real numbers under addition. The Cartesian product of \({\mathbb R}\) with itself, \({\mathbb R} \times {\mathbb R} = {\mathbb R}^2\text{,}\) is also a group, in which the group operation is just addition in each coordinate; that is, \((a, b) + (c, d) = (a + c, b + d)\text{.}\) The identity is \((0,0)\) and the inverse of \((a, b)\) is \((-a, -b)\text{.}\)



\begin{equation*} {\mathbb Z}_2 \times {\mathbb Z}_2 = \{ (0, 0), (0, 1), (1, 0),(1, 1) \}. \end{equation*}

Although \({\mathbb Z}_2 \times {\mathbb Z}_2\) and \({\mathbb Z}_4\) both contain four elements, they are not isomorphic. Every element \((a,b)\) in \({\mathbb Z}_2 \times {\mathbb Z}_2\) has order \(2\text{,}\) since \((a,b) + (a,b) = (0,0)\text{;}\) however, \({\mathbb Z}_4\) is cyclic.

The group \(G \times H\) is called the external direct product of \(G\) and \(H\text{.}\) Notice that there is nothing special about the fact that we have used only two groups to build a new group. The direct product

\begin{equation*} \prod_{i = 1}^n G_i = G_1 \times G_2 \times \cdots \times G_n \end{equation*}

of the groups \(G_1, G_2, \ldots, G_n\) is defined in exactly the same manner. If \(G = G_1 = G_2 = \cdots = G_n\text{,}\) we often write \(G^n\) instead of \(G_1 \times G_2 \times \cdots \times G_n\text{.}\)


The group \({\mathbb Z}_2^n\text{,}\) considered as a set, is just the set of all binary \(n\)-tuples. The group operation is the “exclusive or” of two binary \(n\)-tuples. For example,

\begin{equation*} (01011101) + (01001011) = (00010110). \end{equation*}

This group is important in coding theory, in cryptography, and in many areas of computer science.

Suppose that \(m\) is the least common multiple of \(r\) and \(s\) and let \(n = |(g,h)|\text{.}\) Then

\begin{gather*} (g,h)^m = (g^m, h^m) = (e_G,e_H)\\ (g^n, h^n) = (g, h)^n = (e_G,e_H). \end{gather*}

Hence, \(n\) must divide \(m\text{,}\) and \(n \leq m\text{.}\) However, by the second equation, both \(r\) and \(s\) must divide \(n\text{;}\) therefore, \(n\) is a common multiple of \(r\) and \(s\text{.}\) Since \(m\) is the least common multiple of \(r\) and \(s\text{,}\) \(m \leq n\text{.}\) Consequently, \(m\) must be equal to \(n\text{.}\)


Let \((8, 56) \in {\mathbb Z}_{12} \times {\mathbb Z}_{60}\text{.}\) Since \(\gcd(8,12) = 4\text{,}\) the order of \(8\) is \(12/4 = 3\) in \({\mathbb Z}_{12}\text{.}\) Similarly, the order of \(56\) in \({\mathbb Z}_{60}\) is \(15\text{.}\) The least common multiple of \(3\) and \(15\) is \(15\text{;}\) hence, \((8, 56)\) has order \(15\) in \({\mathbb Z}_{12} \times {\mathbb Z}_{60}\text{.}\)


The group \({\mathbb Z}_2 \times {\mathbb Z}_3\) consists of the pairs

\begin{align*} & (0,0), & & (0, 1), & & (0, 2), & & (1,0), & & (1, 1), & & (1, 2). \end{align*}

In this case, unlike that of \({\mathbb Z}_2 \times {\mathbb Z}_2\) and \({\mathbb Z}_4\text{,}\) it is true that \({\mathbb Z}_2 \times {\mathbb Z}_3 \cong {\mathbb Z}_6\text{.}\) We need only show that \({\mathbb Z}_2 \times {\mathbb Z}_3\) is cyclic. It is easy to see that \((1,1)\) is a generator for \({\mathbb Z}_2 \times {\mathbb Z}_3\text{.}\)

The next theorem tells us exactly when the direct product of two cyclic groups is cyclic.

We will first show that if \({\mathbb Z}_m \times {\mathbb Z}_n \cong {\mathbb Z}_{mn}\text{,}\) then \(\gcd(m, n) = 1\text{.}\) We will prove the contrapositive; that is, we will show that if \(\gcd(m, n) = d \gt 1\text{,}\) then \({\mathbb Z}_m \times {\mathbb Z}_n\) cannot be cyclic. Notice that \(mn/d\) is divisible by both \(m\) and \(n\text{;}\) hence, for any element \((a,b) \in {\mathbb Z}_m \times {\mathbb Z}_n\text{,}\)

\begin{equation*} \underbrace{(a,b) + (a,b)+ \cdots + (a,b)}_{mn/d \; \text{times}} = (0, 0). \end{equation*}

Therefore, no \((a, b)\) can generate all of \({\mathbb Z}_m \times {\mathbb Z}_n\text{.}\)

The converse follows directly from Theorem 8.7 since \(\lcm(m,n) = mn\) if and only if \(\gcd(m,n)=1\text{.}\)

Since the greatest common divisor of \(p_i^{e_i}\) and \(p_j^{e_j}\) is 1 for \(i \neq j\text{,}\) the proof follows from Corollary 8.12.

In Chapter 11, we will prove that all finite abelian groups are isomorphic to direct products of the form

\begin{equation*} {\mathbb Z}_{p_1^{e_1}} \times \cdots \times {\mathbb Z}_{p_k^{e_k}} \end{equation*}

where \(p_1, \ldots, p_k\) are (not necessarily distinct) primes.

Subsection8.3.2Internal Direct Products

The external direct product of two groups builds a large group out of two smaller groups. We would like to be able to reverse this process and conveniently break down a group into its direct product components; that is, we would like to be able to say when a group is isomorphic to the direct product of two of its subgroups.

Let \(G\) be a group with subgroups \(H\) and \(K\) satisfying the following conditions.

  • \(G = HK = \{ hk : h \in H, k \in K \}\text{;}\)

  • \(H \cap K = \{ e \}\text{;}\)

  • \(hk = kh\) for all \(k \in K\) and \(h \in H\text{.}\)

Then \(G\) is the internal direct product of \(H\) and \(K\text{.}\)


The group \(U(8)\) is the internal direct product of

\begin{equation*} H = \{1, 3 \} \quad \text{and} \quad K = \{1, 5 \}. \end{equation*}

The dihedral group \(D_6\) is an internal direct product of its two subgroups

\begin{equation*} H = \{\identity, r^3 \} \quad \text{and} \quad K = \{\identity, r^2, r^4, s, r^2s, r^4 s \}. \end{equation*}

It can easily be shown that \(K \cong S_3\text{;}\) consequently, \(D_6 \cong {\mathbb Z}_2 \times S_3\text{.}\)


Not every group can be written as the internal direct product of two of its proper subgroups. If the group \(S_3\) were an internal direct product of its proper subgroups \(H\) and \(K\text{,}\) then one of the subgroups, say \(H\text{,}\) would have to have order \(3\text{.}\) In this case \(H\) is the subgroup \(\{ (1), (123), (132) \}\text{.}\) The subgroup \(K\) must have order \(2\text{,}\) but no matter which subgroup we choose for \(K\text{,}\) the condition that \(hk = kh\) will never be satisfied for \(h \in H\) and \(k \in K\text{.}\)

Since \(G\) is an internal direct product, we can write any element \(g \in G\) as \(g =hk\) for some \(h \in H\) and some \(k \in K\text{.}\) Define a map \(\phi : G \rightarrow H \times K\) by \(\phi(g) = (h,k)\text{.}\)

The first problem that we must face is to show that \(\phi\) is a well-defined map; that is, we must show that \(h\) and \(k\) are uniquely determined by \(g\text{.}\) Suppose that \(g = hk=h'k'\text{.}\) Then \(h^{-1} h'= k (k')^{-1}\) is in both \(H\) and \(K\text{,}\) so it must be the identity. Therefore, \(h = h'\) and \(k = k'\text{,}\) which proves that \(\phi\) is, indeed, well-defined.

To show that \(\phi\) preserves the group operation, let \(g_1 = h_1 k_1\) and \(g_2 = h_2 k_2\) and observe that

\begin{align*} \phi( g_1 g_2 ) & = \phi( h_1 k_1 h_2 k_2 )\\ & = \phi(h_1 h_2 k_1 k_2)\\ & = (h_1 h_2, k_1 k_2)\\ & = (h_1, k_1)( h_2, k_2)\\ & = \phi( g_1 ) \phi( g_2 ). \end{align*}

We will leave the proof that \(\phi\) is one-to-one and onto as an exercise.


The group \({\mathbb Z}_6\) is an internal direct product isomorphic to \(\{ 0, 2, 4\} \times \{ 0, 3 \}\text{.}\)

We can extend the definition of an internal direct product of \(G\) to a collection of subgroups \(H_1, H_2, \ldots, H_n\) of \(G\text{,}\) by requiring that

  • \(G = H_1 H_2 \cdots H_n = \{ h_1 h_2 \cdots h_n : h_i \in H_i \}\text{;}\)

  • \(H_i \cap \langle \cup_{j \neq i} H_j \rangle = \{ e \}\text{;}\)

  • \(h_i h_j = h_j h_i\) for all \(h_i \in H_i\) and \(h_j \in H_j\text{.}\)

We will leave the proof of the following theorem as an exercise.