Completing an exact sequence

This seemingly simple question has puzzled me for a while: Determine which abelian groups A fit into a short exact sequence $$0 \to \mathbb{Z}_{p^m} \to A \to \mathbb{Z}_{p^n} \to 0$$

(This is question 2.1.14 in Hatcher's Algebraic Topology)

First and foremost, I'd like to see an elementary straightforward solution. If there is a more sophisticated solution, I'd be happy to see it as well (one approach we had in mind is to compute the value of Ext, which didn't work quite well).

-
Computing $\operatorname{Ext}^1(\mathbb Z_{p^n},\mathbb Z_{p^m})$ is somewhat straight forward, just take a free resolution $\mathbb 0\to Z \to \mathbb Z \to \mathbb Z_{p^n}$ and apply $\hom$ (I may be swapping $m$ and $n$), but it doesn't quite give you the groups $A$. For every element of $\operatorname{Ext}$ you can construct an extension in a somewhat algorithmic way, but there is definitely an extra step that needs to be done, which is not nearly as well known as the basic construction of $\operatorname{Ext}$ is. If I have time later, I will say something about it. – Aaron May 31 '11 at 21:21
This should be pretty straightforward using the structure theorem, which will at least tell you what the answer is, and then you can try to figure it out more directly. – Qiaochu Yuan May 31 '11 at 21:24
Oh, oops, I missed the fact that $A$ is abelian. That makes things somewhat simpler. In that case, using $\operatorname{Ext}$ is definitely NOT the way to go. As Qiaochu says, the structure theorem for finitely generated abelian groups is a much better starting point. – Aaron May 31 '11 at 21:38
@Qiaochu: Obviously, the size of A must be p^(n+m), so by the structure theorem we know that A is a sum of cyclic groups of size p^(a_i) such that the sum of the a_i's is m+n. This still leaves quite some room for different decompositions, and it's not clear which decomposition fits in the series. – Haim May 31 '11 at 21:39
There is a solution in www.math.ku.dk/~moller/f03/algtop/opg/S2.1.pdf, although I don't fully understand the argument. Those with better algebra skills then me probably will though – Juan S Jun 1 '11 at 4:55

If A is an abelian group with a cyclic subgroup B and cyclic quotient group C = A / B, then A can be generated by two elements. In particular, A = Z/rZ × Z/sZ for non-negative integers r dividing s. If |B| = b and |C| = c, then one must have rs = bc (so that |A| = |B|⋅[A : B]), and b divides s (so that A has a subgroup isomorphic to B).

This already gives you all solutions. For instance, if b = 8, and c = 16, then you can have (r, s) in { (16,8), (8,16), (4,32), (2,64), (1,128) }.

Take for instance r = 4, s = 32. One has A with generators x and y of orders 4 and 32. B is the subgroup generated by (x,y4). In the quotient, C, x has order 4, so y has order 16, and x ≡ y−4 mod B, so C is cyclic, generated by yB, of order 16.

Ext is sort of like the gcd, and this is especially clear for extensions of cyclic groups, where you are just looking for divisors like this.

-
(part 1/2) To clarify my critical comment from a year ago: I like the general approach of your answer, but there remain groups that don't fit into the sequence that you have failed to rule out. For example, your answer would suggest that $r=s=2, b=1, c=4$ produces an exact sequence. However, $0\to 0\to \mathbb Z/2\mathbb Z \oplus \mathbb Z/2\mathbb Z \to \mathbb Z/4\mathbb Z \to 0$ can't be exact because the third arrow cannot be a surjection — there is no element of order $4$ in the middle group. – epimorphic Jan 12 '15 at 19:45
(part 2/2) We need an additional condition. To have an element $x \in A$ whose coset $x+B \in C$ has order $c$, the order of $x$ must be a multiple of $c$. And for that to be possible, we need that $\boldsymbol c$ divides $\boldsymbol s$. Jyrki Lahtonen's answer to a duplicate question notes this correctly. – epimorphic Jan 12 '15 at 19:46

Here is the homological algebra perspective on the problem.

First, let us compute $\operatorname{Ext}^*(Z/p^n,Z/p^m)$. Abelian groups are the same thing as $\mathbb{Z}-modules, and we have a free resolution $$0\longrightarrow \mathbb Z \stackrel{p^n}{\longrightarrow} \mathbb{Z} \dashrightarrow \mathbb Z/p^n\longrightarrow 0$$ In general, We can compute$\operatorname{Ext}_R^*(A,B)$by taking a projective resolution of$A$and applying the contravariant functor$\hom_R(?,B)$In our case, if we apply$\hom_{\mathbb Z}(?,\mathbb Z/p^m)$we get $$\mathbb Z/p^m \stackrel{p^n}{\longrightarrow} \mathbb{Z}/p^m$$ where we have used the isomorphism$\hom_{\mathbb Z}(\mathbb Z,M)\cong M$. Thus$\operatorname{Ext}^1(\mathbb Z/p^n,\mathbb Z/p^m)= (\mathbb{Z}/p^m)/p^n(\mathbb{Z}/p^m)$. There are now several details that I am going to skip (see a text on homological algebra, such as Weibel or Rotman), but each element of$\operatorname{Ext}^*(Z/p^n,Z/p^m)$will give rise to a map$\mathbb{Z}\to \mathbb{Z}/p^m$, and every extension will come from taking the pushout of this map with the map$\mathbb Z \stackrel{p^n}{\longrightarrow} \mathbb{Z}$. Unfortunately, there are a few details that need to be worked out to answer the question fully. In particular, 1. What possible maps do we get? Some maps might not correspond to extensions. 2. When do two different maps yield the same extension? 3. When do two different extensions yield the same group$A$? Still, we have a partial answer (which can with a little bit of work be extended to a complete answer) that every$A$is of the form$\operatorname{coker}(\mathbb{Z}\to\mathbb{Z}\oplus \mathbb{Z}/p^m)$where the map on the first coordinate is multiplication by$p^n\$.

-