 NumAbelianGroups - Maple Help

Home : Support : Online Help : Mathematics : Group Theory : NumAbelianGroups

GroupTheory

 NumGroups
 attempt to determine the number of groups of a given order
 NumAbelianGroups
 return the number of Abelian groups of a given order Calling Sequence NumGroups( n ) NumAbelianGroups( n ) Parameters

 n - a positive integer, a range of positive integers, or the string "unknown" Description

 • The NumGroups( n ) command attempts to determine the number of groups of order n, and returns that number.  If it cannot determine the number of groups of order n, then the value FAIL is returned.
 • For small values of n, the number of groups of order n is stored in a table, and the number of stored values is at least as large as the number of groups in the Small Groups Database.  Therefore, this command can be used to determine the number of groups of a given order available in the database of small groups.
 • For values of n for which the number of groups of order n is not stored, it is necessary that Maple can factor n.
 • For values of n too large to be stored, a variety of formulae are used for values of n which are "arithmetically small".
 • The NumGroups command can compute the number of groups of order n, for n factorable and having one of the following forms: ${p}^{k}$, ${p}^{k}q$, for $k$ at most $5$, ${p}^{2}{q}^{2}$, and ${p}^{2}qr$, where $p$, $q$ and $r$ denote distinct primes. The number of groups of (factorable) square-free order can also be computed.
 • If n can be factored, and if the number of groups of order n is no more than three, then NumGroups( n ) will return that value.
 • In the current implementation, the smallest value of $n$ for which the number of groups of order $n$ cannot be computed is $n=2048$.
 • The special argument "unknown" (a string) may be passed to determine the values in the table of small orders for which the number of groups is not currently known.  An expression sequence of those values of n in the table of stored values for which the command NumGroups( n ) will return FAIL is returned. (The table currently stores values for most orders less than $50000$.)
 • If n is a range of positive integers, then the NumGroups( n ) command returns a sequence of the values over that range.
 • The NumAbelianGroups( n ) command returns the number of Abelian groups of order $n$. This is computed by counting the number of isomorphism classes of order equal to the $p$-part of $n$, for each prime divisor $p$ of $n$, and also using the fact that the number of Abelian groups of prime power order ${p}^{k}$ is equal to the number of partitions of $k$ (independent of the prime $p$). Thus, the ability to compute NumAbelianGroups( n ) is dependent only upon the ability to factor the integer $n$ and to compute the number of partitions of the integer powers that appear in the factorization. Examples

 > $\mathrm{with}\left(\mathrm{GroupTheory}\right):$

The number of groups of the first few small orders:

 > $\mathrm{NumGroups}\left(1..30\right)$
 ${1}{,}{1}{,}{1}{,}{2}{,}{1}{,}{2}{,}{1}{,}{5}{,}{2}{,}{2}{,}{1}{,}{5}{,}{1}{,}{2}{,}{1}{,}{14}{,}{1}{,}{5}{,}{1}{,}{5}{,}{2}{,}{2}{,}{1}{,}{15}{,}{2}{,}{2}{,}{5}{,}{4}{,}{1}{,}{4}$ (1)

For a larger number of (small) values it becomes useful to visualise the behaviour of this function using a plot.

 > $\mathrm{plots}:-\mathrm{display}\left(\mathrm{Array}\left(\left[\mathrm{Statistics}:-\mathrm{ColumnGraph}\left(\left[\mathrm{seq}\right]\left(n=\mathrm{NumAbelianGroups}\left(n\right),n=1..50\right)\right),\mathrm{Statistics}:-\mathrm{ColumnGraph}\left(\left[\mathrm{seq}\right]\left(n=\mathrm{NumGroups}\left(n\right),n=1..50\right)\right)\right]\right)\right)$ The numbers of groups of prime power order grows very quickly.

 > $\mathrm{seq}\left(\mathrm{NumGroups}\left({2}^{k}\right),k=0..10\right)$
 ${1}{,}{1}{,}{2}{,}{5}{,}{14}{,}{51}{,}{267}{,}{2328}{,}{56092}{,}{10494213}{,}{49487367289}$ (2)
 > $\mathrm{NumGroups}\left({2}^{11}\right)$
 ${\mathrm{FAIL}}$ (3)
 > $\mathrm{seq}\left(\mathrm{NumGroups}\left({3}^{k}\right),k=0..8\right)$
 ${1}{,}{1}{,}{2}{,}{5}{,}{15}{,}{67}{,}{504}{,}{9310}{,}{1396077}$ (4)

For primes $p$ larger than $3$, Maple can compute the number of groups of order ${p}^{k}$ for $k\le 7$.

 > $\mathrm{seq}\left(\mathrm{NumGroups}\left({5}^{k}\right),k=0..7\right)$
 ${1}{,}{1}{,}{2}{,}{5}{,}{15}{,}{77}{,}{684}{,}{34297}$ (5)
 > $\mathrm{seq}\left(\mathrm{NumGroups}\left({7}^{k}\right),k=0..7\right)$
 ${1}{,}{1}{,}{2}{,}{5}{,}{15}{,}{83}{,}{860}{,}{113147}$ (6)
 > $\mathrm{NumGroups}\left(2304\right)$
 ${15756130}$ (7)
 > $\mathrm{NumGroups}\left(614889782588491410\right)$
 ${188018688}$ (8)
 > $\mathrm{NumGroups}\left(81513\right)$
 ${13}$ (9)
 > $\mathrm{NumGroups}\left(483153\right)$
 ${119}$ (10)
 > $\mathrm{NumGroups}\left(53091\right)$
 ${2}$ (11)
 > $\mathrm{NumGroups}\left(15358747619\right)$
 ${3}$ (12)
 > $\mathrm{NumGroups}\left(3307506804820056766681499608504868704139327366278298467987\right)$
 ${1}$ (13)
 > $\mathrm{NumGroups}\left(\mathrm{mul}\left(\mathrm{ithprime}\left(i\right),i=100..1000\right)\right)$
 ${2771340269884594676814901910875675152096737295781236722237205017714262355882880999306035200000000}$ (14)
 > $\mathrm{NumAbelianGroups}\left(1\right)$
 ${1}$ (15)
 > $\mathrm{NumAbelianGroups}\left(4\right)$
 ${2}$ (16)
 > $\mathrm{NumAbelianGroups}\left(419904\right)$
 ${242}$ (17)
 > $\mathrm{NumAbelianGroups}\left(12\right)$
 ${2}$ (18)
 > $\mathrm{NumAbelianGroups}\left({10}^{300}\right)$
 ${85619543833885478733834543854404}$ (19)

How many abelian groups have the same order as the Monster simple group?

 > $\mathrm{NumAbelianGroups}\left(\mathrm{GroupOrder}\left(\mathrm{Monster}\left(\right)\right)\right)$
 ${131046034680}$ (20) Compatibility

 • The GroupTheory[NumGroups] command was introduced in Maple 17.