Introduction

MGroups is a mathematica package I developed which helps in the exploration of finite group structures. The package is hosted on the Wolfram's paclet repository at this link:—

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.

I wrote a blog post on Wolfram community about the package which was featured in the Staff Picks column. Read it here.

Installation is as easy as writing

PacletInstall["Taggar/MGroups"]
in any mathematica notebook, even on cloud. Then, to start using the package, write
<<Taggar`MGroups`
to load it into the environment. The package is fully documented using Mathematica's in-build help system, and running ?CommandName will give help for any of the package's commands.

Subgroup Lattices

Among other things, the package allows one to explore groups in terms of their subgroup structures. In particular, subgroup lattices can also be drawn. Here I show some of the cool lattices I've been able to draw.

Z90

The additive group of integers modulo 90

Z2 ⊕ Z2 ⊕ Z2

3-times EDP of additive group of integers modulo 2

Z25

5-times EDP of additive group of integers modulo 2 (this has 188 subgroups!)

Z5 ⊕ Z5

2-times EDP of additive group of integers modulo 5

D8

Dihedral group of order 16

D12

Dihedral group of order 24

S4

Symmetric group of all permutations on 4 symbols

A5

Symmetric group of even permutations on 5 symbols

Q8

Quaternions 8 group

D3 ⊕ D3

2-times EDP of dihedral group of order 6

D3 ⊕ D4

EDP of dihedral groups of order 6 and 8

S4 ⊕ Z2

EDP of symmetric group of all permutations on 4 symbols, with additive group of integers modulo 2

S4 ⊕ U10

EDP of symmetric group of all permutations on 4 symbols, with multiplicative group of integers modulo 10 (this has 158 subgroups!)

That's not all! Even more complex structures can be computed using the package. The notebook file containing these examples is available at lats.nb. Feel free to explore and go crazier!

This web-page is under development.