GroupsMath – v1.0.0
GroupsMath is an open-source Python library for exploring and computing with mathematical groups. It lets you construct groups, perform operations on their elements, and study their structure through concepts such as subgroups, quotient groups, products, automorphisms, and conjugacy classes. Its goal is to make group theory accessible, intuitive, and computational, connecting abstract mathematics with hands-on experimentation in Python.
📚 Visit here the GroupsMath official documentation.
Installation
GroupsMath is currently distributed through PyPI and Github. To install the latest released version from PyPI, run the following in your preferred terminal (VS code, Jupyter, ...).
pip install groupsmath
Also, you can install the latest development version directly from GitHub:
pip install git+https://github.com/MarioSultan/GroupsMath.git
or visit https://github.com/MarioSultan/GroupsMath and download all the files.
Quick start
A program in GroupsMath
import groupsmath as gm
from groupsmath.precooked import S3, A4, C3
#Calculating properties of the group S3
print(S3.order()) # 6
print(S3.elements) # ['e', '(23)', '(12)', '(123)', '(132)', '(13)']
print(S3.element_orders()) # [1, 2, 2, 3, 3, 2]
print(S3.is_cyclic()) # False
print(S3.is_abelian()) # False
#Generating Cayley table of S3
S3.cayley_table()
#Generating the Cayley table of the direct product A4xC3
G = A4 * C3 # Product group
G.cayley_table()
#Generating the group of units U1200 and its Cayley table
U1200 = gm.units_group(1200) # Create the group
U1200.cayley_table()
Cayley table of $S_3$
Cayley table of $A_4\times C_3$
Cayley table of $U_{1200}$
Features
GroupsMath is designed to provide tools for working with finite (and infinite) groups, including:
GROUPS:
- Construction of finite groups with classes
CayleyGroupandExplicitGroup. - Determination of the order of a group and its elements.
- Operation with group elements (multiplication, inverse, powers, ...).
- Computation of Cayley tables with
matplotlib.pyplot. - Detection of algebraic properties such as cyclicity, commutativity and solubility.
- Centralizers, conjugacy classes and conmutator.
- Computation and exploration of other structural properties of finite groups.
- Predefined group families in the library
groupsmath.precooked, such as $C_n$, $S_n$, $A_n$, $D_n$, $V_4$, $Q_8$, ... - Structure description. (experimental feature)
SUBGROUPS:
- Study of subgroups (order, cosets, normal subgroups, quotients, ...).
- Normal subgroups.
- Quotient groups $Q=G/H$.
- Conmutator and derived subgroups $G'$.
- Abelianization $G/G'$.
- Hasse diagrams. (experimental feature)
AUTOMORPHISMS:
- Class
Automorphismand automorphism functions. - Automorphisim functions $f:A\to\text{Aut}(B)$.
- Automorphism groups $\text{Aut}(G)$.
PRODUCTS:
- Direct product of two groups $G\times H$.
- Semidirect product of two groups $G\rtimes H$.
MATRIX GROUPS
- Library
groupsmath.matrixgroupsand classMatrixGroup. - Groups generated by matrices: $GL$, $SL$, $O$, $SO$, $U$, $SU$ and $Sp$.
- Matrix groups over finite fields $\mathbb{F}_p$, with $p$ prime.
PRESENTED GROUPS
- Presentation of groups, generators and class
PresentedGroup. (experimental feature)
EDUCATION
- Jupyter notebook A swift introduction to group theory with GroupsMath in Binder.
The available functionality will expand as the project develops.
Coming soon
The GroupsMath team is currently working on theese ideas:
- Free groups $F_n$ and free products.
- Optimization of actual features.
- Representation theory.
- and much more...
Documentation
Detailed documentation is available in the GroupsMath official documentation and it is developed alongside the library.
Contributing
Contributions, suggestions, and bug reports are welcome. If you find a bug or have an idea for improving GroupsMath, please open an issue in the GitHub repository.
Metadata
Release files for GroupsMath 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| groupsmath-1.0.0.tar.gz | 29.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| groupsmath-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.6 kB
Release files / groupsmath-1.0.0.tar.gz
| Download URL | groupsmath-1.0.0.tar.gz |
|---|---|
| Size | 29.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c69b460439b88dc86e07ea541a59179152b234e474d323b9542d9a410c312bd
|
|
BLAKE2b-256 checksum How to use checksums |
f97fb281107d634e6a767d3b576b7047b35fbd506ebe7c94f1acdbb5e8732cf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.
Transparency logRelease files / groupsmath-1.0.0-py3-none-any.whl
| Download URL | groupsmath-1.0.0-py3-none-any.whl |
|---|---|
| Size | 30.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8bc3c9164e6a1fe65b03f99e941e20c8a341a90ec7d65a2191a673dcca18b1a6
|
|
BLAKE2b-256 checksum How to use checksums |
675da8a966938b9290a594cf7a9b4c2a5958ff83ea04a7518af4e5be05775f88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.
Transparency log