 AllTransitiveGroups - Maple Help

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

GroupTheory

 TransitiveGroup
 compute the k-th transitive of a given degree
 NumTransitiveGroups
 compute the number of transitive groups of a given degree
 AllTransitiveGroups
 compute all the transitive groups of a given degree Calling Sequence TransitiveGroup( d, k ) NumTransitiveGroups( d ) AllTransitiveGroups( r, opt ) Parameters

 d - : posint : the degree k - : posint : an index r - : {posint, posint .. posint} : a degree or range of degrees Options

 • opt : equation of the form 'output' = value, where value is either list (the default) or iterator Description

 • These three commands form an interface to the transitive groups database in the GroupTheory package.  Currently, conjugacy class representatives of the transitive groups up to degree $37$, but excluding those of degree $32$, are available in the database.
 • The NumTransitiveGroups( d ) command returns the number of transitive groups of degree d stored in the transitive groups database.  If the value returned is $0$, this indicates that no transitive groups of degree d are in the database.  (It does not indicate that there are no transitive groups of that degree!)
 • The TransitiveGroup( d, k ) command returns the $k$-th transitive group of degree $d$ from the transitive groups database.  If $k$ is larger than the number of transitive groups of degree d, an exception is raised.
 • The AllTransitiveGroups( r ) command returns a list of all the transitive groups of degree $r$ if $r$ is a positive integer.  It is essentially equivalent to [seq]( TransitiveGroup( d, k ), k = 1 .. NumTransitiveGroups( d ) ), but avoids some repeated checks. If $r$ is a range of the form a .. b, then AllTransitiveGroups( r ) returns the transitive groups of degree $d$, for a <= d <= b. By default, or if the output = list option is passed, then a list of the requested groups is returned. If you pass the output = iterator option, then an iterator object is returned. Examples

 > $\mathrm{with}\left(\mathrm{GroupTheory}\right):$
 > $\mathrm{NumTransitiveGroups}\left(31\right)$
 ${12}$ (1)
 > $G≔\mathrm{TransitiveGroup}\left(31,3\right)$
 ${G}{≔}⟨\left({2}{,}{12}{,}{22}\right)\left({3}{,}{13}{,}{23}\right)\left({4}{,}{14}{,}{24}\right)\left({5}{,}{15}{,}{25}\right)\left({6}{,}{16}{,}{26}\right)\left({7}{,}{17}{,}{27}\right)\left({8}{,}{18}{,}{28}\right)\left({9}{,}{19}{,}{29}\right)\left({10}{,}{20}{,}{30}\right)\left({11}{,}{21}{,}{31}\right){,}\left({1}{,}{13}{,}{7}{,}{14}{,}{31}{,}{3}{,}{8}{,}{11}{,}{25}{,}{15}{,}{27}{,}{6}{,}{2}{,}{24}{,}{5}{,}{4}{,}{19}{,}{20}{,}{9}{,}{17}{,}{21}{,}{12}{,}{30}{,}{10}{,}{26}{,}{23}{,}{18}{,}{16}{,}{29}{,}{22}{,}{28}\right)⟩$ (2)
 > $\mathrm{IsTransitive}\left(G\right)$
 ${\mathrm{true}}$ (3)
 > $\mathrm{IsPrimitive}\left(G\right)$
 ${\mathrm{true}}$ (4)
 > $L≔\mathrm{AllTransitiveGroups}\left(31\right):$$\mathrm{nops}\left(L\right)$
 ${12}$ (5)
 > $\mathrm{andmap}\left(\mathrm{IsTransitive},L\right)$
 ${\mathrm{true}}$ (6)

Transitive groups of prime degree are primitive.

 > $\mathrm{andmap}\left(\mathrm{IsPrimitive},L\right)$
 ${\mathrm{true}}$ (7)

For groups of non-prime degree, we normally find imprimitive groups.

 > $\mathrm{NumTransitiveGroups}\left(8\right)$
 ${50}$ (8)
 > $\mathrm{nops}\left(\mathrm{remove}\left(\mathrm{IsPrimitive},\mathrm{AllTransitiveGroups}\left(8\right)\right)\right)$
 ${43}$ (9)
 > $\mathrm{AllTransitiveGroups}\left(2..4\right)$
 $\left[⟨\left({1}{,}{2}\right)⟩{,}⟨\left({1}{,}{2}{,}{3}\right)⟩{,}⟨\left({2}{,}{3}\right){,}\left({1}{,}{2}{,}{3}\right)⟩{,}⟨\left({1}{,}{2}{,}{3}{,}{4}\right)⟩{,}⟨\left({1}{,}{2}\right)\left({3}{,}{4}\right){,}\left({1}{,}{4}\right)\left({2}{,}{3}\right)⟩{,}⟨\left({2}{,}{4}\right){,}\left({1}{,}{2}{,}{3}{,}{4}\right)⟩{,}⟨\left({2}{,}{4}{,}{3}\right){,}\left({1}{,}{3}\right)\left({2}{,}{4}\right)⟩{,}⟨\left({2}{,}{4}{,}{3}\right){,}\left({1}{,}{4}{,}{2}{,}{3}\right)⟩\right]$ (10)

In the event that a large number of groups is expected, it is generally better to use an iterator.

 > $\mathrm{it}≔\mathrm{AllTransitiveGroups}\left(24,'\mathrm{output}'="iterator"\right)$
 ${\mathrm{it}}{≔}{\mathrm{⟨Transitive Groups Iterator: 24/1 .. 24/25000⟩}}$ (11)
 > $i≔0:$
 > $\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}}\mathrm{+=}\left(i\right);\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{if}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{not}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{IsRegular}\left(G\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{then}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{break}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end if}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end do}:$
 > $i$
 ${16}$ (12)
 > $\mathrm{it}≔\mathrm{AllTransitiveGroups}\left(31..33,'\mathrm{output}'="iterator"\right)$
 ${\mathrm{it}}{≔}{\mathrm{⟨Transitive Groups Iterator: 31/1 .. 33/162⟩}}$ (13)
 > $\mathbf{for}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{id},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}}\mathbf{not}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{IsPrimitive}\left(G\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{then}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{print}\left(\mathrm{id}\right);\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{break}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end if}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end do}:$
 ${33}{,}{1}$ (14) Compatibility

 • The GroupTheory[TransitiveGroup], GroupTheory[NumTransitiveGroups] and GroupTheory[AllTransitiveGroups] commands were introduced in Maple 17.