Group Theory - Maple Help

 Group Theory

Several new commands have been added to the GroupTheory package in Maple 2018.

New Subgroup Tests

 • You can test whether a subgroup of a finite group is subnormal or permutable (quasi-normal) by using the new IsSubnormal and IsPermutable commands. These are generalizations of normal subgroups.
 > with( GroupTheory ):
 > G := Symm( 4 );
 ${G}{≔}{{\mathbf{S}}}_{{4}}$ (1)
 > H := Subgroup( { Perm( [[1,2],[3,4]] ) }, G );
 ${H}{≔}⟨\left({1}{,}{2}\right)\left({3}{,}{4}\right)⟩$ (2)
 > IsSubnormal( H, G );
 ${\mathrm{true}}$ (3)
 > IsPermutable( H, G );
 ${\mathrm{false}}$ (4)
 > IsNormal( H, G );
 ${\mathrm{false}}$ (5)
 > G := Symm( 3 );
 ${G}{≔}{{\mathbf{S}}}_{{3}}$ (6)
 > N := Subgroup( { Perm( [[1,2,3]] ) }, G );
 ${N}{≔}⟨\left({1}{,}{2}{,}{3}\right)⟩$ (7)
 > IsNormal( N, G );
 ${\mathrm{true}}$ (8)
 > IsPermutable( N, G );
 ${\mathrm{true}}$ (9)
 > IsSubnormal( N, G );
 ${\mathrm{true}}$ (10)

Groups of Prime Power Order

 • To check whether a finite group is a $p$-group, for a prime number $p$, use the new IsPGroup command. The PGroupPrime command can be used to return the prime number $p$ for which a group is a finite $p$-group.
 > IsPGroup( Symm( 3 ) );
 ${\mathrm{false}}$ (11)
 > IsPGroup( DihedralGroup( 4 ) );
 ${\mathrm{true}}$ (12)
 > PGroupPrime( DihedralGroup( 4 ) );
 ${2}$ (13)
 > IsPGroup( DirectProduct( CyclicGroup( 128 ), QuaternionGroup() ) );
 ${\mathrm{true}}$ (14)

Other New and Updated Commands

 • The ElementOrder command has been extended to work on elements of finite finitely presented groups.
 > G := < a, b | a^2, b^3, (a.b)^5 = 1 >:
 > ElementOrder( a.b^2 .a, G );
 ${3}$ (15)
 • The new ElementPower command computes powers of elements of a permutation group or a Cayley table group.
 • The new ClassNumber command returns the number of conjugacy classes of a finite group. In some cases, this can be faster than actually computing the conjugacy classes themselves and counting them.
 > ClassNumber( Symm( 3 ) );
 ${3}$ (16)
 > ClassNumber( DirectProduct( Monster(), DihedralGroup( 4 * n ) ) ) assuming n :: posint;
 ${388}{}{n}{+}{582}$ (17)
 • The number of Abelian groups of a given order can be computed by using the new NumAbelianGroups command.
 > NumAbelianGroups( 1000 );
 ${9}$ (18)