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.
@@ -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
+ [![PyPI Downloads](https://img.shields.io/pypi/dm/groupsmath)](https://pypistats.org/packages/groupsmath)
26
+ [![PyPI Version](https://img.shields.io/pypi/v/groupsmath?color=2A646E)](https://pypi.org/project/groupsmath/)
27
+ [![Python Versions](https://img.shields.io/pypi/pyversions/groupsmath?color=2A646E)](https://pypi.org/project/groupsmath/)
28
+ ![Last Commit](https://img.shields.io/github/last-commit/MarioSultan/groupsmath?color=2A646E)
29
+ ![coverage](https://img.shields.io/badge/road%20to%20v1.0.0-85%25-yellowgreen?color=2A646E)
30
+ <!-- ![GitHub Stars](https://img.shields.io/github/stars/MarioSultan/groupsmath?style=social) -->
31
+
32
+
33
+ ![GroupsMath Logo](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/logo.png)
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
+ ![Examples](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/examples.png)
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
+ ![S3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_S3.png)
97
+
98
+ ### Cayley table of $A_4\times C_3$
99
+ ![A4xC3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_A4xC3.png)
100
+
101
+ ### Cayley table of $U_{1200}$
102
+ ![U1200 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_U1200.png)
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,2 @@
1
+ matplotlib>=3.0.0
2
+ numpy>=1.20.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
+ [![PyPI Downloads](https://img.shields.io/pypi/dm/groupsmath)](https://pypistats.org/packages/groupsmath)
26
+ [![PyPI Version](https://img.shields.io/pypi/v/groupsmath?color=2A646E)](https://pypi.org/project/groupsmath/)
27
+ [![Python Versions](https://img.shields.io/pypi/pyversions/groupsmath?color=2A646E)](https://pypi.org/project/groupsmath/)
28
+ ![Last Commit](https://img.shields.io/github/last-commit/MarioSultan/groupsmath?color=2A646E)
29
+ ![coverage](https://img.shields.io/badge/road%20to%20v1.0.0-85%25-yellowgreen?color=2A646E)
30
+ <!-- ![GitHub Stars](https://img.shields.io/github/stars/MarioSultan/groupsmath?style=social) -->
31
+
32
+
33
+ ![GroupsMath Logo](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/logo.png)
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
+ ![Examples](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/examples.png)
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
+ ![S3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_S3.png)
97
+
98
+ ### Cayley table of $A_4\times C_3$
99
+ ![A4xC3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_A4xC3.png)
100
+
101
+ ### Cayley table of $U_{1200}$
102
+ ![U1200 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_U1200.png)
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
+ [![PyPI Downloads](https://img.shields.io/pypi/dm/groupsmath)](https://pypistats.org/packages/groupsmath)
4
+ [![PyPI Version](https://img.shields.io/pypi/v/groupsmath?color=2A646E)](https://pypi.org/project/groupsmath/)
5
+ [![Python Versions](https://img.shields.io/pypi/pyversions/groupsmath?color=2A646E)](https://pypi.org/project/groupsmath/)
6
+ ![Last Commit](https://img.shields.io/github/last-commit/MarioSultan/groupsmath?color=2A646E)
7
+ ![coverage](https://img.shields.io/badge/road%20to%20v1.0.0-85%25-yellowgreen?color=2A646E)
8
+ <!-- ![GitHub Stars](https://img.shields.io/github/stars/MarioSultan/groupsmath?style=social) -->
9
+
10
+
11
+ ![GroupsMath Logo](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/logo.png)
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
+ ![Examples](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/examples.png)
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
+ ![S3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_S3.png)
75
+
76
+ ### Cayley table of $A_4\times C_3$
77
+ ![A4xC3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_A4xC3.png)
78
+
79
+ ### Cayley table of $U_{1200}$
80
+ ![U1200 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_U1200.png)
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.