Wolfram Language Paclet Repository
Community-contributed installable additions to the Wolfram Language
Mathematica package that implements some parts of finite group theory
Contributed by: Naman Taggar
MGroups is a mathematica package that implements a part of finite group theory. It offers a user-friendly interface for performing a range of computations involving finite groups including Zn, Un, Dn, Sn, and more. The package allows users to define and analyse groups through Cayley tables and provides functionality for investigating group operations, subgroup structures (lattices), group morphisms, and more. Each group is defined in terms of its Cayley table representation itself, and operations are applied appropriately.
Computational tools play a vital role in modern mathematics by automating complex and often tedious calculations, thereby freeing users from manual labour and enabling deeper exploration of abstract concepts. In that essence, MGroups is designed primarily for undergraduate students beginning with group theory, as well as for educators seeking a user-friendly tool to demonstrate group-theoretic concepts interactively.
To install this paclet in your Wolfram Language environment,
evaluate this code:
PacletInstall["Taggar/MGroups"]
To load the code after installation, evaluate this code:
Needs["Taggar`MGroups`"]
Define a group using the FormGroup command:
In[1]:= | ![]() |
Out[3]= | ![]() |
Click on the + icon to see that the identity for this group is 0. See for example its table of inverses:
In[4]:= | ![]() |
Out[4]= | ![]() |
Define a group using one of the available commands:
In[5]:= | ![]() |
Out[5]= | ![]() |
Then study it using the available commands, for example see its Cayley table:
In[6]:= | ![]() |
Out[6]= | ![]() |
or its Cayley graph using the generators {r,s}:
In[7]:= | ![]() |
Out[7]= | ![]() |
See its subgroups:
In[8]:= | ![]() |
Out[8]= | ![]() |
The package also allows drawing subgroup lattices:
In[9]:= | ![]() |
Out[9]= | ![]() |
See the same lattice in 3D with layers:
In[10]:= | ![]() |
Out[10]= | ![]() |
More complex example: the group of permutations on 4 symbols:
In[11]:= | ![]() |
Out[11]= | ![]() |
its subgroup lattice:
In[12]:= | ![]() |
Out[12]= | ![]() |
and its Cayley graph in 3-D using the well-known generators (12) and (234):
In[13]:= | ![]() |
Out[13]= | ![]() |
Wolfram Language Version 12.3