GroupsMath 0.4.1__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- groupsmath-0.6.0/GroupsMath.egg-info/PKG-INFO +167 -0
- {groupsmath-0.4.1 → groupsmath-0.6.0}/GroupsMath.egg-info/SOURCES.txt +2 -0
- groupsmath-0.6.0/GroupsMath.egg-info/requires.txt +2 -0
- groupsmath-0.6.0/PKG-INFO +167 -0
- groupsmath-0.6.0/README.md +145 -0
- groupsmath-0.6.0/groupsmath/core.py +1930 -0
- groupsmath-0.6.0/groupsmath/matrixgroups.py +262 -0
- {groupsmath-0.4.1 → groupsmath-0.6.0}/pyproject.toml +11 -1
- groupsmath-0.4.1/GroupsMath.egg-info/PKG-INFO +0 -121
- groupsmath-0.4.1/PKG-INFO +0 -121
- groupsmath-0.4.1/README.md +0 -105
- groupsmath-0.4.1/groupsmath/core.py +0 -1176
- {groupsmath-0.4.1 → groupsmath-0.6.0}/GroupsMath.egg-info/dependency_links.txt +0 -0
- {groupsmath-0.4.1 → groupsmath-0.6.0}/GroupsMath.egg-info/top_level.txt +0 -0
- {groupsmath-0.4.1 → groupsmath-0.6.0}/LICENSE +0 -0
- {groupsmath-0.4.1 → groupsmath-0.6.0}/groupsmath/__init__.py +0 -0
- {groupsmath-0.4.1 → groupsmath-0.6.0}/groupsmath/precooked.py +0 -0
- {groupsmath-0.4.1 → groupsmath-0.6.0}/groupsmath/shortcuts.py +0 -0
- {groupsmath-0.4.1 → groupsmath-0.6.0}/setup.cfg +0 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: GroupsMath
|
|
3
|
+
Version: 0.6.0
|
|
4
|
+
Summary: The educational Python library for Group Theory
|
|
5
|
+
Author-email: Mario Sultan Romero <mariosultan.uem@gmail.com>
|
|
6
|
+
License: PolyForm Strict License 1.0.0.
|
|
7
|
+
Project-URL: Homepage, https://github.com/MarioSultan/GroupsMath
|
|
8
|
+
Project-URL: Documentation, https://github.com/MarioSultan/GroupsMath/tree/main/docs
|
|
9
|
+
Project-URL: Issues, https://github.com/MarioSultan/GroupsMath/issues
|
|
10
|
+
Keywords: math,mathematics,algebra,abstract-algebra,group-theory,finite-groups,sylow,quotient-groups,automorphisms,group,groups,group theory,finte groups,finite group theory,finite-group-theory
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Intended Audience :: Education
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Requires-Dist: matplotlib>=3.0.0
|
|
20
|
+
Requires-Dist: numpy>=1.20.0
|
|
21
|
+
Dynamic: license-file
|
|
22
|
+
|
|
23
|
+
# GroupsMath – v0.6.0
|
|
24
|
+
|
|
25
|
+
[](https://pypistats.org/packages/groupsmath)
|
|
26
|
+
[](https://pypi.org/project/groupsmath/)
|
|
27
|
+
[](https://pypi.org/project/groupsmath/)
|
|
28
|
+

|
|
29
|
+

|
|
30
|
+
<!--  -->
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
**GroupsMath** is a Python module for constructing, studying, and manipulating finite and infinite groups.
|
|
37
|
+
|
|
38
|
+
The project aims to provide a **simple** and **intuitive** interface for working with groups and their algebraic properties.
|
|
39
|
+
|
|
40
|
+

|
|
41
|
+
|
|
42
|
+
> **⚠️ Notice:** Version v1.0.0 is nearing its official release.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Installation
|
|
48
|
+
|
|
49
|
+
GroupsMath is currently distributed through [PyPI](https://pypi.org/project/GroupsMath/) and [Github](https://github.com/MarioSultan/GroupsMath). To install the latest released version from PyPI, run:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pip install groupsmath
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Also, you can install the latest development version directly from GitHub:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pip install git+https://github.com/MarioSultan/GroupsMath.git
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
or visit https://github.com/MarioSultan/GroupsMath and download all the files.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Quick start
|
|
66
|
+
|
|
67
|
+
### A program in GroupsMath
|
|
68
|
+
```python
|
|
69
|
+
import groupsmath as gm
|
|
70
|
+
from groupsmath.precooked import S3, A4, C3
|
|
71
|
+
|
|
72
|
+
#Calculating properties of the group S3
|
|
73
|
+
|
|
74
|
+
print(S3.order()) # 6
|
|
75
|
+
print(S3.elements) # ['e', '(23)', '(12)', '(123)', '(132)', '(13)']
|
|
76
|
+
print(S3.element_orders()) # [1, 2, 2, 3, 3, 2]
|
|
77
|
+
print(S3.is_cyclic()) # False
|
|
78
|
+
print(S3.is_abelian()) # False
|
|
79
|
+
|
|
80
|
+
#Generating Cayley table of S3
|
|
81
|
+
|
|
82
|
+
S3.cayley_table()
|
|
83
|
+
|
|
84
|
+
#Generating the Cayley table of the direct product A4xC3
|
|
85
|
+
|
|
86
|
+
G = A4 * C3 # Product group
|
|
87
|
+
G.cayley_table()
|
|
88
|
+
|
|
89
|
+
#Generating the group of units U1200 and its Cayley table
|
|
90
|
+
|
|
91
|
+
U1200 = gm.units_group(1200) # Create the group
|
|
92
|
+
U1200.cayley_table()
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Cayley table of $S_3$
|
|
96
|
+

|
|
97
|
+
|
|
98
|
+
### Cayley table of $A_4\times C_3$
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
### Cayley table of $U_{1200}$
|
|
102
|
+

|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Features
|
|
108
|
+
|
|
109
|
+
GroupsMath is designed to provide tools for working with finite (and infinite) groups, including:
|
|
110
|
+
|
|
111
|
+
**GROUPS:**
|
|
112
|
+
* Construction of finite groups with classes `CayleyGroup` and `ExplicitGroup`.
|
|
113
|
+
* Determination of the order of a group and its elements.
|
|
114
|
+
* Operation with group elements (multiplication, inverse, powers, ...)
|
|
115
|
+
* Computation of Cayley tables with `matplotlib.pyplot`.
|
|
116
|
+
* Detection of algebraic properties such as cyclicity, commutativity and solubility.
|
|
117
|
+
* Centralizers, conjugacy classes and conmutator.
|
|
118
|
+
* Computation and exploration of other structural properties of finite groups.
|
|
119
|
+
* Predefined group families in the library `groupsmath.precooked`, such as $C_n$, $S_n$, $A_n$, $D_n$, $V_4$, $Q_8$, ...
|
|
120
|
+
* Isomorphisms between groups.
|
|
121
|
+
|
|
122
|
+
**SUBGROUPS:**
|
|
123
|
+
* Study of subgroups (order, cosets, normal subgroups, quotients, ...).
|
|
124
|
+
* Normal subgroups.
|
|
125
|
+
* Quotient groups $Q=G/H$.
|
|
126
|
+
* Conmutator and derived subgroups $G'$.
|
|
127
|
+
* Abelianization $G/G'$
|
|
128
|
+
|
|
129
|
+
**AUTOMORPHISMS:**
|
|
130
|
+
* Class `Automorphism` and automorphism functions.
|
|
131
|
+
* Automorphisim functions $f:A\to\text{Aut}(B)$.
|
|
132
|
+
* Automorphism groups $\text{Aut}(G)$.
|
|
133
|
+
|
|
134
|
+
**PRODUCTS:**
|
|
135
|
+
* Direct product of two groups $G\times H$.
|
|
136
|
+
* Semidirect product of two groups $G\rtimes H$.
|
|
137
|
+
|
|
138
|
+
**MATRIX GROUPS**
|
|
139
|
+
* Library `groupsmath.matrixgroups` and class `MatrixGroup`.
|
|
140
|
+
* Groups generated by matrices: $GL$, $SL$, $O$, $SO$, $U$, $SU$ and $Sp$.
|
|
141
|
+
* Matrix groups over finite fields $\mathbb{F}_p$, with $p$ prime.
|
|
142
|
+
|
|
143
|
+
The available functionality will expand as the project develops.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Coming soon
|
|
148
|
+
|
|
149
|
+
The GroupsMath team is currently working on theese ideas:
|
|
150
|
+
* Presentation of groups, generators and class `PresentedGroup`.
|
|
151
|
+
* Free groups $F_n$ and free products.
|
|
152
|
+
* Optimization of actual features.
|
|
153
|
+
* Representation theory.
|
|
154
|
+
* and much more...
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Documentation
|
|
160
|
+
|
|
161
|
+
Detailed documentation is available in the [`docs`](https://github.com/MarioSultan/GroupsMath/tree/main/docs) directory of GitHub and it is developed alongside the library.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Contributing
|
|
166
|
+
|
|
167
|
+
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.
|
|
@@ -4,8 +4,10 @@ pyproject.toml
|
|
|
4
4
|
GroupsMath.egg-info/PKG-INFO
|
|
5
5
|
GroupsMath.egg-info/SOURCES.txt
|
|
6
6
|
GroupsMath.egg-info/dependency_links.txt
|
|
7
|
+
GroupsMath.egg-info/requires.txt
|
|
7
8
|
GroupsMath.egg-info/top_level.txt
|
|
8
9
|
groupsmath/__init__.py
|
|
9
10
|
groupsmath/core.py
|
|
11
|
+
groupsmath/matrixgroups.py
|
|
10
12
|
groupsmath/precooked.py
|
|
11
13
|
groupsmath/shortcuts.py
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: GroupsMath
|
|
3
|
+
Version: 0.6.0
|
|
4
|
+
Summary: The educational Python library for Group Theory
|
|
5
|
+
Author-email: Mario Sultan Romero <mariosultan.uem@gmail.com>
|
|
6
|
+
License: PolyForm Strict License 1.0.0.
|
|
7
|
+
Project-URL: Homepage, https://github.com/MarioSultan/GroupsMath
|
|
8
|
+
Project-URL: Documentation, https://github.com/MarioSultan/GroupsMath/tree/main/docs
|
|
9
|
+
Project-URL: Issues, https://github.com/MarioSultan/GroupsMath/issues
|
|
10
|
+
Keywords: math,mathematics,algebra,abstract-algebra,group-theory,finite-groups,sylow,quotient-groups,automorphisms,group,groups,group theory,finte groups,finite group theory,finite-group-theory
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Intended Audience :: Education
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Requires-Dist: matplotlib>=3.0.0
|
|
20
|
+
Requires-Dist: numpy>=1.20.0
|
|
21
|
+
Dynamic: license-file
|
|
22
|
+
|
|
23
|
+
# GroupsMath – v0.6.0
|
|
24
|
+
|
|
25
|
+
[](https://pypistats.org/packages/groupsmath)
|
|
26
|
+
[](https://pypi.org/project/groupsmath/)
|
|
27
|
+
[](https://pypi.org/project/groupsmath/)
|
|
28
|
+

|
|
29
|
+

|
|
30
|
+
<!--  -->
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
**GroupsMath** is a Python module for constructing, studying, and manipulating finite and infinite groups.
|
|
37
|
+
|
|
38
|
+
The project aims to provide a **simple** and **intuitive** interface for working with groups and their algebraic properties.
|
|
39
|
+
|
|
40
|
+

|
|
41
|
+
|
|
42
|
+
> **⚠️ Notice:** Version v1.0.0 is nearing its official release.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Installation
|
|
48
|
+
|
|
49
|
+
GroupsMath is currently distributed through [PyPI](https://pypi.org/project/GroupsMath/) and [Github](https://github.com/MarioSultan/GroupsMath). To install the latest released version from PyPI, run:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pip install groupsmath
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Also, you can install the latest development version directly from GitHub:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pip install git+https://github.com/MarioSultan/GroupsMath.git
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
or visit https://github.com/MarioSultan/GroupsMath and download all the files.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Quick start
|
|
66
|
+
|
|
67
|
+
### A program in GroupsMath
|
|
68
|
+
```python
|
|
69
|
+
import groupsmath as gm
|
|
70
|
+
from groupsmath.precooked import S3, A4, C3
|
|
71
|
+
|
|
72
|
+
#Calculating properties of the group S3
|
|
73
|
+
|
|
74
|
+
print(S3.order()) # 6
|
|
75
|
+
print(S3.elements) # ['e', '(23)', '(12)', '(123)', '(132)', '(13)']
|
|
76
|
+
print(S3.element_orders()) # [1, 2, 2, 3, 3, 2]
|
|
77
|
+
print(S3.is_cyclic()) # False
|
|
78
|
+
print(S3.is_abelian()) # False
|
|
79
|
+
|
|
80
|
+
#Generating Cayley table of S3
|
|
81
|
+
|
|
82
|
+
S3.cayley_table()
|
|
83
|
+
|
|
84
|
+
#Generating the Cayley table of the direct product A4xC3
|
|
85
|
+
|
|
86
|
+
G = A4 * C3 # Product group
|
|
87
|
+
G.cayley_table()
|
|
88
|
+
|
|
89
|
+
#Generating the group of units U1200 and its Cayley table
|
|
90
|
+
|
|
91
|
+
U1200 = gm.units_group(1200) # Create the group
|
|
92
|
+
U1200.cayley_table()
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Cayley table of $S_3$
|
|
96
|
+

|
|
97
|
+
|
|
98
|
+
### Cayley table of $A_4\times C_3$
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
### Cayley table of $U_{1200}$
|
|
102
|
+

|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Features
|
|
108
|
+
|
|
109
|
+
GroupsMath is designed to provide tools for working with finite (and infinite) groups, including:
|
|
110
|
+
|
|
111
|
+
**GROUPS:**
|
|
112
|
+
* Construction of finite groups with classes `CayleyGroup` and `ExplicitGroup`.
|
|
113
|
+
* Determination of the order of a group and its elements.
|
|
114
|
+
* Operation with group elements (multiplication, inverse, powers, ...)
|
|
115
|
+
* Computation of Cayley tables with `matplotlib.pyplot`.
|
|
116
|
+
* Detection of algebraic properties such as cyclicity, commutativity and solubility.
|
|
117
|
+
* Centralizers, conjugacy classes and conmutator.
|
|
118
|
+
* Computation and exploration of other structural properties of finite groups.
|
|
119
|
+
* Predefined group families in the library `groupsmath.precooked`, such as $C_n$, $S_n$, $A_n$, $D_n$, $V_4$, $Q_8$, ...
|
|
120
|
+
* Isomorphisms between groups.
|
|
121
|
+
|
|
122
|
+
**SUBGROUPS:**
|
|
123
|
+
* Study of subgroups (order, cosets, normal subgroups, quotients, ...).
|
|
124
|
+
* Normal subgroups.
|
|
125
|
+
* Quotient groups $Q=G/H$.
|
|
126
|
+
* Conmutator and derived subgroups $G'$.
|
|
127
|
+
* Abelianization $G/G'$
|
|
128
|
+
|
|
129
|
+
**AUTOMORPHISMS:**
|
|
130
|
+
* Class `Automorphism` and automorphism functions.
|
|
131
|
+
* Automorphisim functions $f:A\to\text{Aut}(B)$.
|
|
132
|
+
* Automorphism groups $\text{Aut}(G)$.
|
|
133
|
+
|
|
134
|
+
**PRODUCTS:**
|
|
135
|
+
* Direct product of two groups $G\times H$.
|
|
136
|
+
* Semidirect product of two groups $G\rtimes H$.
|
|
137
|
+
|
|
138
|
+
**MATRIX GROUPS**
|
|
139
|
+
* Library `groupsmath.matrixgroups` and class `MatrixGroup`.
|
|
140
|
+
* Groups generated by matrices: $GL$, $SL$, $O$, $SO$, $U$, $SU$ and $Sp$.
|
|
141
|
+
* Matrix groups over finite fields $\mathbb{F}_p$, with $p$ prime.
|
|
142
|
+
|
|
143
|
+
The available functionality will expand as the project develops.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Coming soon
|
|
148
|
+
|
|
149
|
+
The GroupsMath team is currently working on theese ideas:
|
|
150
|
+
* Presentation of groups, generators and class `PresentedGroup`.
|
|
151
|
+
* Free groups $F_n$ and free products.
|
|
152
|
+
* Optimization of actual features.
|
|
153
|
+
* Representation theory.
|
|
154
|
+
* and much more...
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Documentation
|
|
160
|
+
|
|
161
|
+
Detailed documentation is available in the [`docs`](https://github.com/MarioSultan/GroupsMath/tree/main/docs) directory of GitHub and it is developed alongside the library.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Contributing
|
|
166
|
+
|
|
167
|
+
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.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# GroupsMath – v0.6.0
|
|
2
|
+
|
|
3
|
+
[](https://pypistats.org/packages/groupsmath)
|
|
4
|
+
[](https://pypi.org/project/groupsmath/)
|
|
5
|
+
[](https://pypi.org/project/groupsmath/)
|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
<!--  -->
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
**GroupsMath** is a Python module for constructing, studying, and manipulating finite and infinite groups.
|
|
15
|
+
|
|
16
|
+
The project aims to provide a **simple** and **intuitive** interface for working with groups and their algebraic properties.
|
|
17
|
+
|
|
18
|
+

|
|
19
|
+
|
|
20
|
+
> **⚠️ Notice:** Version v1.0.0 is nearing its official release.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
GroupsMath is currently distributed through [PyPI](https://pypi.org/project/GroupsMath/) and [Github](https://github.com/MarioSultan/GroupsMath). To install the latest released version from PyPI, run:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pip install groupsmath
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Also, you can install the latest development version directly from GitHub:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
pip install git+https://github.com/MarioSultan/GroupsMath.git
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
or visit https://github.com/MarioSultan/GroupsMath and download all the files.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Quick start
|
|
44
|
+
|
|
45
|
+
### A program in GroupsMath
|
|
46
|
+
```python
|
|
47
|
+
import groupsmath as gm
|
|
48
|
+
from groupsmath.precooked import S3, A4, C3
|
|
49
|
+
|
|
50
|
+
#Calculating properties of the group S3
|
|
51
|
+
|
|
52
|
+
print(S3.order()) # 6
|
|
53
|
+
print(S3.elements) # ['e', '(23)', '(12)', '(123)', '(132)', '(13)']
|
|
54
|
+
print(S3.element_orders()) # [1, 2, 2, 3, 3, 2]
|
|
55
|
+
print(S3.is_cyclic()) # False
|
|
56
|
+
print(S3.is_abelian()) # False
|
|
57
|
+
|
|
58
|
+
#Generating Cayley table of S3
|
|
59
|
+
|
|
60
|
+
S3.cayley_table()
|
|
61
|
+
|
|
62
|
+
#Generating the Cayley table of the direct product A4xC3
|
|
63
|
+
|
|
64
|
+
G = A4 * C3 # Product group
|
|
65
|
+
G.cayley_table()
|
|
66
|
+
|
|
67
|
+
#Generating the group of units U1200 and its Cayley table
|
|
68
|
+
|
|
69
|
+
U1200 = gm.units_group(1200) # Create the group
|
|
70
|
+
U1200.cayley_table()
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Cayley table of $S_3$
|
|
74
|
+

|
|
75
|
+
|
|
76
|
+
### Cayley table of $A_4\times C_3$
|
|
77
|
+

|
|
78
|
+
|
|
79
|
+
### Cayley table of $U_{1200}$
|
|
80
|
+

|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Features
|
|
86
|
+
|
|
87
|
+
GroupsMath is designed to provide tools for working with finite (and infinite) groups, including:
|
|
88
|
+
|
|
89
|
+
**GROUPS:**
|
|
90
|
+
* Construction of finite groups with classes `CayleyGroup` and `ExplicitGroup`.
|
|
91
|
+
* Determination of the order of a group and its elements.
|
|
92
|
+
* Operation with group elements (multiplication, inverse, powers, ...)
|
|
93
|
+
* Computation of Cayley tables with `matplotlib.pyplot`.
|
|
94
|
+
* Detection of algebraic properties such as cyclicity, commutativity and solubility.
|
|
95
|
+
* Centralizers, conjugacy classes and conmutator.
|
|
96
|
+
* Computation and exploration of other structural properties of finite groups.
|
|
97
|
+
* Predefined group families in the library `groupsmath.precooked`, such as $C_n$, $S_n$, $A_n$, $D_n$, $V_4$, $Q_8$, ...
|
|
98
|
+
* Isomorphisms between groups.
|
|
99
|
+
|
|
100
|
+
**SUBGROUPS:**
|
|
101
|
+
* Study of subgroups (order, cosets, normal subgroups, quotients, ...).
|
|
102
|
+
* Normal subgroups.
|
|
103
|
+
* Quotient groups $Q=G/H$.
|
|
104
|
+
* Conmutator and derived subgroups $G'$.
|
|
105
|
+
* Abelianization $G/G'$
|
|
106
|
+
|
|
107
|
+
**AUTOMORPHISMS:**
|
|
108
|
+
* Class `Automorphism` and automorphism functions.
|
|
109
|
+
* Automorphisim functions $f:A\to\text{Aut}(B)$.
|
|
110
|
+
* Automorphism groups $\text{Aut}(G)$.
|
|
111
|
+
|
|
112
|
+
**PRODUCTS:**
|
|
113
|
+
* Direct product of two groups $G\times H$.
|
|
114
|
+
* Semidirect product of two groups $G\rtimes H$.
|
|
115
|
+
|
|
116
|
+
**MATRIX GROUPS**
|
|
117
|
+
* Library `groupsmath.matrixgroups` and class `MatrixGroup`.
|
|
118
|
+
* Groups generated by matrices: $GL$, $SL$, $O$, $SO$, $U$, $SU$ and $Sp$.
|
|
119
|
+
* Matrix groups over finite fields $\mathbb{F}_p$, with $p$ prime.
|
|
120
|
+
|
|
121
|
+
The available functionality will expand as the project develops.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Coming soon
|
|
126
|
+
|
|
127
|
+
The GroupsMath team is currently working on theese ideas:
|
|
128
|
+
* Presentation of groups, generators and class `PresentedGroup`.
|
|
129
|
+
* Free groups $F_n$ and free products.
|
|
130
|
+
* Optimization of actual features.
|
|
131
|
+
* Representation theory.
|
|
132
|
+
* and much more...
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Documentation
|
|
138
|
+
|
|
139
|
+
Detailed documentation is available in the [`docs`](https://github.com/MarioSultan/GroupsMath/tree/main/docs) directory of GitHub and it is developed alongside the library.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Contributing
|
|
144
|
+
|
|
145
|
+
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.
|