I am interested in finding all of the subgroups (up to isomorphism) of a finite Abelian group $A$.
I know the following:
-- A finite Abelian group $A$ can be represented as a direct product of cyclic groups, $A_1, A_2, A_3, ...$.
-- The direct product of subgroups of a set of groups is always a subgroup of the direct product of the groups.
-- Each of the cyclic groups $A_1, A_2, A_3, ...$ will have a unique subgroup for each divisor of its order.
To start finding subgroups of $A$ I can therefore:
-- Write down all the subgroups of each of $A_1, A_2, A_3, ...$
-- Form all possible direct products of these subgroups
I realise that this method will not necessarily find all subgroups of $A$. (For example, if $A = \mathbb{Z}_2 \times \mathbb{Z}_2$, then it has a subgroup $ \{(0, 0), (1, 1) \}$ which is not a direct product of subgroups of $\mathbb{Z}_2$.)
However my question is this: will the above method find representatives from all isomorphism classes of subgroups of $A$? If no, can you provide a counterexample? If yes, can you provide a proof?