GroupTheory - Maple Programming Help

Home : Support : Online Help : Mathematics : Group Theory : GroupTheory/Subgroup

GroupTheory

 Subgroup
 create a subgroup
 TrivialSubgroup
 create the trivial subgroup of a group
 Supergroup
 retrieve a stored subgroup
 Embedding
 retrieve the embedding of a group into its supergroup
 SubgroupMembership
 determine if an element is embedded into the supergroup

 Calling Sequence Subgroup(generators, group) Supergroup(group) Embedding(group) SubgroupMembership(element, group) TrivialSubgroup( group )

Parameters

 generators - list or set of generators for the subgroup group - group data structure element - element of the supergroup

Description

 • The procedure Subgroup creates the subgroup of group generated by generators.
 Subgroups can also be created by the constructors described on the GroupTheory[Group] help page, by using the supergroup option.
 • The procedure Supergroup retrieves the supergroup specified upon construction of the group group. If no supergroup was specified, then Supergroup returns undefined.
 • The procedure Embedding retrieves the embedding of elements of a subgroup into a supergroup. It returns a procedure that can be applied to an element of $\mathrm{group}$ to obtain the corresponding element of $\mathrm{Supergroup}\left(\mathrm{group}\right)$. If $\mathrm{Supergroup}\left(\mathrm{group}\right)$ is undefined, then Embedding will also return undefined.
 The return value of Embedding can also be interrogated about its domain and codomain: if the return value is $e$, then $\mathrm{Domain}\left(e\right)$ and $\mathrm{Codomain}\left(e\right)$ will return the domain and codomain (as groups).
 The procedure TrivialSubgroup creates the trivial subgroup of the group passed as its argument.
 For many types of subgroups, Embedding will return the identity mapping.
 • The procedure SubgroupMembership determines whether a given element of the supergroup of $\mathrm{group}$ is an image of $\mathrm{Embedding}\left(\mathrm{group}\right)$. This is particularly useful if the embedding is not the identity map - for example, for nontrivial Cayley table subgroups.
 For types of groups where the meaning of a group element is well-defined independent of the group it lives in, such as permutation groups, SubgroupMembership will just determine group membership without regard for the subgroup structure. For other groups, such as Cayley table groups, if $\mathrm{Supergroup}\left(\mathrm{group}\right)$ is undefined, SubgroupMembership will return undefined.

Examples

 > $\mathrm{with}\left(\mathrm{GroupTheory}\right):$
 > $\mathrm{g1}≔\mathrm{PermutationGroup}\left(\left\{\left[\left[1,2\right]\right],\left[\left[1,2,3\right],\left[4,5\right]\right]\right\}\right)$
 ${\mathrm{g1}}{≔}⟨\left({1}{,}{2}\right){,}\left({1}{,}{2}{,}{3}\right)\left({4}{,}{5}\right)⟩$ (1)
 > $\mathrm{g2}≔\mathrm{Subgroup}\left(\left\{\left[\left[1,3,2\right],\left[4,5\right]\right]\right\},\mathrm{g1}\right)$
 ${\mathrm{g2}}{≔}⟨\left({1}{,}{3}{,}{2}\right)\left({4}{,}{5}\right)⟩$ (2)
 > $\mathrm{Supergroup}\left(\mathrm{g2}\right)$
 $⟨\left({1}{,}{2}\right){,}\left({1}{,}{2}{,}{3}\right)\left({4}{,}{5}\right)⟩$ (3)
 > $\mathrm{evalb}\left(\mathrm{Supergroup}\left(\mathrm{g2}\right)=\mathrm{eval}\left(\mathrm{g1}\right)\right)$
 ${\mathrm{true}}$ (4)

A nontrivial subgroup of the Klein 4 group as a Cayley table.

 > $\mathrm{g3}≔\mathrm{Group}\left(⟨⟨1|2|3|4⟩,⟨2|1|4|3⟩,⟨3|4|1|2⟩,⟨4|3|2|1⟩⟩\right)$
 ${\mathrm{g3}}{≔}{\mathrm{< a Cayley table group with 4 elements >}}$ (5)
 > $\mathrm{g4}≔\mathrm{Subgroup}\left(\left[3\right],\mathrm{g3}\right)$
 ${\mathrm{g4}}{≔}{\mathrm{< a Cayley table group with 1 generator >}}$ (6)
 > $\left[\mathrm{Elements}\left(\mathrm{g3}\right),\mathrm{Elements}\left(\mathrm{g4}\right)\right]$
 $\left[\left\{{1}{,}{2}{,}{3}{,}{4}\right\}{,}\left\{{1}{,}{2}\right\}\right]$ (7)

$\mathrm{g4}$ is the subgroup of $\mathrm{g3}$ generated by element $3$, but Cayley table groups always have a set of elements $1,\mathrm{...},n$. In particular, the elements of the subgroup have been renumbered. We can obtain the original numbering by applying $e$, defined below:

 > $e≔\mathrm{Embedding}\left(\mathrm{g4}\right)$
 ${e}{≔}{\mathrm{}}$ (8)
 > $\mathrm{map}\left(e,\mathrm{Elements}\left(\mathrm{g4}\right)\right)$
 $\left\{{1}{,}{3}\right\}$ (9)
 > $\mathrm{evalb}\left(\mathrm{Domain}\left(e\right)=\mathrm{g4}\right)$
 ${\mathrm{true}}$ (10)
 > $\mathrm{evalb}\left(\mathrm{Codomain}\left(e\right)=\mathrm{g3}\right)$
 ${\mathrm{true}}$ (11)

In order to test whether an element $z$ of $\mathrm{g3}$ is a member of $\mathrm{g4}$, we cannot just test whether $z$ occurs in $\mathrm{Elements}\left(\mathrm{g4}\right)$ because of this. We can test whether $z$ occurs in the set $\mathrm{map}\left(e,\mathrm{Elements}\left(\mathrm{g4}\right)\right)$ constructed above, or (more efficiently) we can use the SubgroupMembership command.

 > $\mathrm{SubgroupMembership}\left(3,\mathrm{g4}\right)$
 ${\mathrm{true}}$ (12)
 > $\mathrm{SubgroupMembership}\left(2,\mathrm{g4}\right)$
 ${\mathrm{false}}$ (13)

Compatibility

 • The GroupTheory[Subgroup], GroupTheory[Supergroup], GroupTheory[Embedding] and GroupTheory[SubgroupMembership] commands were introduced in Maple 17.