How to efficiently generate a wreath product? If $G$ is a group and $H$ is a subgroup of $S_n$ we can form their wreath product $G \wr H = \{(g_1, ..., g_n; \pi): g_i \in G$ and $\pi \in H\}$. I'm wondering whether the following is correct:


*

*$<(e, ..., g_i, ..., e; e)> = \{(g_1, ..., g_n; e)\}$

*$\{(g_1, ..., g_n; e)\} \circ \{(e, ..., e; \pi)\} = G \wr H$
Additionally, will all elements of $G \wr H$ be generated distinctly? Or in other words is it possible to do this more efficiently?
Edit: For $(g_1, ..., g_n; \pi), (a_1, ..., a_n; \phi) \in G \wr H, \circ$ is defined by $(a_1, ..., a_n; \phi) \circ (g_1, ..., g_n; \pi) = (a_{\pi(1)}*g_1, ..., a_{\pi(n)}*g_n; \phi\circ\pi)$ where $*$ is the operation for $G$, although for my purposes my $G$ can be thought of as $S_n$.
You also have $(g_1, ..., g_n; \pi)^{-1} = (g^{-1}_{\pi^{-1}(1)}, ...; \pi^{-1})$
By distinct I mean for distinct $(g_1, ..., g_n; e), (a_1, ..., a_n; e), (e, ..., e; \pi), (e, ..., e; \phi)$ we don't have $(g_1, ..., g_n; e) \circ (e, ..., e; \pi) = (a_1, ..., a_n; e) \circ (e, ..., e; \pi)$ or $(g_1, ..., g_n; e) \circ (e, ..., e; \pi) = (g_1, ..., g_n; e) \circ (e, ..., e; \phi)$.
I'm not so sure about that for the first part with generating $\{(g_1, ..., g_n; e)\}$, but by efficiency I mean I want to generate an object much like a wreath product algorithmically so I don't want to do more work than necessary when generating it.
 A: Note that the wreath product is a semidirect product with normal subgroup $G^n$ and complement $H$.  A group theory book that defines wreath product will cover this fact.
Part 1. seems to ask whether the normal $G^n$ is generated by elements of the form $(e, \ldots, g_i, \ldots,e)$, i.e. those which are the identity except in one coordinate. This is true by definition of multiplication in the direct product $G^n$.
Part 2. I interpret to ask whether $G \wr H = G^n H$--this is true because, as noted, the wreath product is a semidirect product of these two groups.
The "distinctness" seems to follow from the existence of inverses.  For example, if $(g_1, \ldots, g_n; e) \circ (e, \ldots, e; \pi) = (a_1, \ldots, a_n, ; e) \circ (e, \ldots, e; \pi)$, we may multiply on the right by $(e, \ldots, e; \pi)^{-1}$ and conclude that $(g_1, \ldots, g_n; e) = (a_1, \ldots, a_n; e)$. 
There could be an algorithmic question in the original post about generating a wreath product, but it requires a more careful statement.
