 AbelianGroup - Maple Help

GroupTheory

 AbelianGroup
 construct a finitely generated Abelian group
 AllAbelianGroups
 find all Abelian groups of a given order Calling Sequence AbelianGroup( [ t1, t2, ... ], formopt ) AbelianGroup( [ r, [ t1, t2, ... ] ], formopt ) AllAbelianGroups( n, formopt, outputopt ) Parameters

 r - a non-negative integer ti - a positive integer n - a positive integer formopt - (optional) equation of the form form = F, where F is either "permgroup" or "fpgroup" (the default) outputopt - (optional) equation of the form output = X, where X is either "list" (the default) or "iterator" Description

 • Every finitely generated Abelian group is isomorphic to a direct sum of a free Abelian group (which is a direct sum of finitely many infinite cyclic groups), and a direct sum of finite cyclic groups.
 • The AbelianGroup( [ t1, t2, ... ] ) command returns a finite Abelian group isomorphic to a direct sum of cyclic groups of orders t1, t2, .... The resulting group is, by default, a finitely presented group, but a permutation group may be requested in this case.
 • The AbelianGroup( [ r, [ t1, t2, ... ] ] ) command returns a finitely generated Abelian group isomorphic to a direct sum of a free Abelian group of rank r and a direct sum of finite cyclic groups of orders t1, t2, .... If r > 0, then a finitely presented group is returned, since the group is infinite.
 • The AllAbelianGroups( n ) command returns an expression sequence of all the abelian groups of order n, where n is a positive integer. Since n is finite, either the 'form' = "fpgroup" or 'form' = "permgroup" options may be used.
 • The AbelianGroup and AllAbelianGroups commands accept an option of the form form = F, where F may be either of the strings "fpgroup" (the default), or "permgroup". The form = "permgroup" option may only be used in the case that the torsion-free rank r is equal to 0.
 • The AllAbelianGroups( n ) command accepts an option of the form output = "list", or output = "iterator". In the former, default case, a sequence of groups is returned. Using the output = "iterator" option causes AllAbelianGroups to return an iterator object that you can use to examine the abelian groups of order $n$ one at a time. This is useful in cases for which there is a large number of abelian groups of order $n$. Examples

 > $\mathrm{with}\left(\mathrm{GroupTheory}\right):$
 > $G≔\mathrm{AbelianGroup}\left(\left[3,3\right]\right)$
 ${G}{≔}⟨{}{\mathrm{_a1}}{,}{\mathrm{_a2}}{}{\mid }{}{{\mathrm{_a1}}}^{{3}}{,}{{\mathrm{_a2}}}^{{3}}{,}{{\mathrm{_a2}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a2}}{}{\mathrm{_a1}}{}⟩$ (1)
 > $\mathrm{GroupOrder}\left(G\right)$
 ${9}$ (2)
 > $\mathrm{IsAbelian}\left(G\right)$
 ${\mathrm{true}}$ (3)
 > $G≔\mathrm{AbelianGroup}\left(\left[3,3\right],'\mathrm{form}'="permgroup"\right)$
 ${G}{≔}⟨\left({1}{,}{2}{,}{3}\right){,}\left({4}{,}{5}{,}{6}\right)⟩$ (4)
 > $\mathrm{GroupOrder}\left(G\right)$
 ${9}$ (5)
 > $\mathrm{IsAbelian}\left(G\right)$
 ${\mathrm{true}}$ (6)
 > $G≔\mathrm{AbelianGroup}\left(\left[2,\left[3,4\right]\right]\right)$
 ${G}{≔}⟨{}{\mathrm{_a1}}{,}{\mathrm{_a2}}{,}{\mathrm{_a3}}{,}{\mathrm{_a4}}{}{\mid }{}{{\mathrm{_a1}}}^{{3}}{,}{{\mathrm{_a2}}}^{{4}}{,}{{\mathrm{_a2}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a2}}{}{\mathrm{_a1}}{,}{{\mathrm{_a3}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a3}}{}{\mathrm{_a1}}{,}{{\mathrm{_a3}}}^{{-1}}{}{{\mathrm{_a2}}}^{{-1}}{}{\mathrm{_a3}}{}{\mathrm{_a2}}{,}{{\mathrm{_a4}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a4}}{}{\mathrm{_a1}}{,}{{\mathrm{_a4}}}^{{-1}}{}{{\mathrm{_a2}}}^{{-1}}{}{\mathrm{_a4}}{}{\mathrm{_a2}}{,}{{\mathrm{_a4}}}^{{-1}}{}{{\mathrm{_a3}}}^{{-1}}{}{\mathrm{_a4}}{}{\mathrm{_a3}}{}⟩$ (7)
 > $\mathrm{GroupOrder}\left(G\right)$
 ${\mathrm{\infty }}$ (8)
 > $\mathrm{IsAbelian}\left(G\right)$
 ${\mathrm{true}}$ (9)
 > $G≔\mathrm{AbelianGroup}\left(\left[2,\left[3,4\right]\right],'\mathrm{form}'="permgroup"\right)$
 > $L≔\mathrm{AllAbelianGroups}\left(100\right)$
 ${L}{≔}⟨{}{\mathrm{_a1}}{,}{\mathrm{_a2}}{,}{\mathrm{_a3}}{,}{\mathrm{_a4}}{}{\mid }{}{{\mathrm{_a1}}}^{{2}}{,}{{\mathrm{_a2}}}^{{2}}{,}{{\mathrm{_a2}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a2}}{}{\mathrm{_a1}}{,}{{\mathrm{_a3}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a3}}{}{\mathrm{_a1}}{,}{{\mathrm{_a3}}}^{{-1}}{}{{\mathrm{_a2}}}^{{-1}}{}{\mathrm{_a3}}{}{\mathrm{_a2}}{,}{{\mathrm{_a4}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a4}}{}{\mathrm{_a1}}{,}{{\mathrm{_a4}}}^{{-1}}{}{{\mathrm{_a2}}}^{{-1}}{}{\mathrm{_a4}}{}{\mathrm{_a2}}{,}{{\mathrm{_a4}}}^{{-1}}{}{{\mathrm{_a3}}}^{{-1}}{}{\mathrm{_a4}}{}{\mathrm{_a3}}{,}{{\mathrm{_a3}}}^{{5}}{,}{{\mathrm{_a4}}}^{{5}}{}⟩{,}⟨{}{\mathrm{_a1}}{,}{\mathrm{_a2}}{,}{\mathrm{_a3}}{}{\mid }{}{{\mathrm{_a1}}}^{{2}}{,}{{\mathrm{_a2}}}^{{2}}{,}{{\mathrm{_a2}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a2}}{}{\mathrm{_a1}}{,}{{\mathrm{_a3}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a3}}{}{\mathrm{_a1}}{,}{{\mathrm{_a3}}}^{{-1}}{}{{\mathrm{_a2}}}^{{-1}}{}{\mathrm{_a3}}{}{\mathrm{_a2}}{,}{{\mathrm{_a3}}}^{{25}}{}⟩{,}⟨{}{\mathrm{_a1}}{,}{\mathrm{_a2}}{,}{\mathrm{_a3}}{}{\mid }{}{{\mathrm{_a1}}}^{{4}}{,}{{\mathrm{_a2}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a2}}{}{\mathrm{_a1}}{,}{{\mathrm{_a3}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a3}}{}{\mathrm{_a1}}{,}{{\mathrm{_a3}}}^{{-1}}{}{{\mathrm{_a2}}}^{{-1}}{}{\mathrm{_a3}}{}{\mathrm{_a2}}{,}{{\mathrm{_a2}}}^{{5}}{,}{{\mathrm{_a3}}}^{{5}}{}⟩{,}⟨{}{\mathrm{_a1}}{,}{\mathrm{_a2}}{}{\mid }{}{{\mathrm{_a1}}}^{{4}}{,}{{\mathrm{_a2}}}^{{-1}}{}{{\mathrm{_a1}}}^{{-1}}{}{\mathrm{_a2}}{}{\mathrm{_a1}}{,}{{\mathrm{_a2}}}^{{25}}{}⟩$ (10)
 > $\mathrm{nops}\left(\left[L\right]\right)$
 ${4}$ (11)
 > $\mathrm{NumAbelianGroups}\left(100\right)$
 ${4}$ (12)
 > $\mathrm{it}≔\mathrm{AllAbelianGroups}\left({30}^{4},'\mathrm{form}'="permgroup",'\mathrm{output}'="iterator"\right)$
 ${\mathrm{it}}{≔}{\mathrm{⟨Iterator for 125 Abelian Groups of Order 810000⟩}}$ (13)
 > $\mathbf{for}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}G\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{in}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{it}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{do}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{if}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{Exponent}\left(\mathrm{SylowSubgroup}\left(2,G\right)\right)=4\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{then}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{print}\left(\mathrm{AbelianInvariants}\left(G\right)\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end if}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end do}:$
 $\left[{0}{,}\left[{15}{,}{30}{,}{30}{,}{60}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{30}{,}{30}{,}{300}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{6}{,}{150}{,}{300}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{6}{,}{30}{,}{1500}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{6}{,}{6}{,}{7500}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{30}{,}{30}{,}{180}\right]\right]$
 $\left[{0}{,}\left[{30}{,}{30}{,}{900}\right]\right]$
 $\left[{0}{,}\left[{6}{,}{150}{,}{900}\right]\right]$
 $\left[{0}{,}\left[{6}{,}{30}{,}{4500}\right]\right]$
 $\left[{0}{,}\left[{6}{,}{6}{,}{22500}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{10}{,}{90}{,}{180}\right]\right]$
 $\left[{0}{,}\left[{10}{,}{90}{,}{900}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{450}{,}{900}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{90}{,}{4500}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{18}{,}{22500}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{10}{,}{30}{,}{540}\right]\right]$
 $\left[{0}{,}\left[{10}{,}{30}{,}{2700}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{150}{,}{2700}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{30}{,}{13500}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{6}{,}{67500}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{10}{,}{10}{,}{1620}\right]\right]$
 $\left[{0}{,}\left[{10}{,}{10}{,}{8100}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{50}{,}{8100}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{10}{,}{40500}\right]\right]$
 $\left[{0}{,}\left[{2}{,}{2}{,}{202500}\right]\right]$
 $\left[{0}{,}\left[{15}{,}{15}{,}{60}{,}{60}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{15}{,}{60}{,}{300}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{3}{,}{300}{,}{300}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{3}{,}{60}{,}{1500}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{3}{,}{12}{,}{7500}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{15}{,}{60}{,}{180}\right]\right]$
 $\left[{0}{,}\left[{15}{,}{60}{,}{900}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{300}{,}{900}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{60}{,}{4500}\right]\right]$
 $\left[{0}{,}\left[{3}{,}{12}{,}{22500}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{5}{,}{180}{,}{180}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{180}{,}{900}\right]\right]$
 $\left[{0}{,}\left[{900}{,}{900}\right]\right]$
 $\left[{0}{,}\left[{180}{,}{4500}\right]\right]$
 $\left[{0}{,}\left[{36}{,}{22500}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{5}{,}{60}{,}{540}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{60}{,}{2700}\right]\right]$
 $\left[{0}{,}\left[{300}{,}{2700}\right]\right]$
 $\left[{0}{,}\left[{60}{,}{13500}\right]\right]$
 $\left[{0}{,}\left[{12}{,}{67500}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{5}{,}{20}{,}{1620}\right]\right]$
 $\left[{0}{,}\left[{5}{,}{20}{,}{8100}\right]\right]$
 $\left[{0}{,}\left[{100}{,}{8100}\right]\right]$
 $\left[{0}{,}\left[{20}{,}{40500}\right]\right]$
 $\left[{0}{,}\left[{4}{,}{202500}\right]\right]$ (14) Compatibility

 • The GroupTheory[AbelianGroup] command was introduced in Maple 2016.