GroupsMath 0.4.1__tar.gz → 0.5.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.
@@ -1,25 +1,31 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GroupsMath
3
- Version: 0.4.1
3
+ Version: 0.5.0
4
4
  Summary: The educational Python library for Group Theory
5
5
  Author-email: Mario Sultan Romero <mariosultan.uem@gmail.com>
6
6
  License: PolyForm Strict License 1.0.0.
7
7
  Project-URL: Homepage, https://github.com/MarioSultan/GroupsMath
8
8
  Project-URL: Documentation, https://github.com/MarioSultan/GroupsMath/tree/main/docs
9
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
10
14
  Classifier: Programming Language :: Python :: 3
11
15
  Classifier: Operating System :: OS Independent
12
16
  Requires-Python: >=3.8
13
17
  Description-Content-Type: text/markdown
14
18
  License-File: LICENSE
19
+ Requires-Dist: matplotlib>=3.0.0
20
+ Requires-Dist: numpy>=1.20.0
15
21
  Dynamic: license-file
16
22
 
17
- # GroupsMath – v0.4.1
23
+ # GroupsMath – v0.5.0
18
24
 
19
25
  ![GroupsMath Logo](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/logo.png)
20
26
 
21
27
 
22
- **GroupsMath** is a Python module for constructing, studying, and manipulating finite groups.
28
+ **GroupsMath** is a Python module for constructing, studying, and manipulating finite and infinite groups.
23
29
 
24
30
  The project aims to provide a simple and intuitive interface for working with finite groups and their algebraic properties.
25
31
 
@@ -29,30 +35,56 @@ The project aims to provide a simple and intuitive interface for working with fi
29
35
 
30
36
  ## Installation
31
37
 
32
- GroupsMath is currently distributed through GitHub and has not yet been published on PyPI.
33
-
34
- To install the latest released version from PyPI, run:
38
+ 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:
35
39
 
36
40
  ```bash
37
41
  pip install groupsmath
38
42
  ```
39
43
 
40
- Alternatively, you can install the latest development version directly from GitHub:
44
+ Also, you can install the latest development version directly from GitHub:
41
45
 
42
46
  ```bash
43
47
  pip install git+https://github.com/MarioSultan/GroupsMath.git
44
48
  ```
45
49
 
46
- Alternatively, you can visit https://github.com/MarioSultan/GroupsMath and download all the files.
50
+ or visit https://github.com/MarioSultan/GroupsMath and download all the files.
47
51
 
48
52
  ---
49
53
 
50
54
  ## Examples
51
55
 
56
+ ### A program in GroupsMath
57
+ ```python
58
+ import groupsmath as gm
59
+ from groupsmath.precooked import S3, A4, C3
60
+
61
+ #Calculating properties of the group S3
62
+
63
+ print(S3.order()) # 6
64
+ print(S3.elements) # ['e', '(23)', '(12)', '(123)', '(132)', '(13)']
65
+ print(S3.element_orders()) # [1, 2, 2, 3, 3, 2]
66
+ print(S3.is_cyclic()) # False
67
+ print(S3.is_abelian()) # False
68
+
69
+ #Generating Cayley table of S3
70
+
71
+ S3.cayley_table()
72
+
73
+ #Generating the Cayley table of the direct product A4xC3
74
+
75
+ G = A4 * C3 # Product group
76
+ G.cayley_table()
77
+
78
+ #Generating the group of units U1200 and its Cayley table
79
+
80
+ U1200 = gm.units_group(1200) # Create the group
81
+ U1200.cayley_table()
82
+ ```
83
+
52
84
  ### Cayley table of $S_3$
53
85
  ![S3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_S3.png)
54
86
 
55
- ### Cayley table of $A_5\times C_4$
87
+ ### Cayley table of $A_4\times C_3$
56
88
  ![A4xC3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_A4xC3.png)
57
89
 
58
90
  ### Cayley table of $U_{1200}$
@@ -63,10 +95,10 @@ Alternatively, you can visit https://github.com/MarioSultan/GroupsMath and downl
63
95
 
64
96
  ## Features
65
97
 
66
- GroupsMath is designed to provide tools for working with finite groups, including:
98
+ GroupsMath is designed to provide tools for working with finite (and infinite) groups, including:
67
99
 
68
100
  **GROUPS:**
69
- * Construction of finite groups.
101
+ * Construction of finite groups with classes `CayleyGroup` and `ExplicitGroup`.
70
102
  * Determination of the order of a group and its elements.
71
103
  * Operation with group elements (multiplication, inverse, powers, ...)
72
104
  * Computation of Cayley tables with `matplotlib.pyplot`.
@@ -81,12 +113,18 @@ GroupsMath is designed to provide tools for working with finite groups, includin
81
113
 
82
114
  **AUTOMORPHISMS:**
83
115
  * Class `Automorphism` and automorphism functions.
116
+ * Automorphisim functions $f:A\to\text{Aut}(B)$.
84
117
  * Automorphism groups $\text{Aut}(G)$.
85
118
 
86
119
  **PRODUCTS:**
87
120
  * Direct product of two groups $G\times H$.
88
121
  * Semidirect product of two groups $G\rtimes H$.
89
122
 
123
+ **MATRIX GROUPS**
124
+ * Library `groupsmath.matrixgroups` and class `MatrixGroup`.
125
+ * Groups generated by matrices: $GL$, $SL$, $O$, $SO$, $U$, $SU$ and $Sp$.
126
+ * Matrix groups over finite fields $\mathbb{F}_p$, with $p$ prime.
127
+
90
128
  The available functionality will expand as the project develops.
91
129
 
92
130
  ---
@@ -94,15 +132,17 @@ The available functionality will expand as the project develops.
94
132
  ## Coming soon
95
133
 
96
134
  The GroupsMath team is currently working on theese ideas:
97
- * Presentation of groups and generators.
98
- * Groups generated by matrices ($GL$, $O$,...).
135
+ * Presentation of groups, generators and class `PresentedGroup`.
136
+ * Free groups $F_n$ and free products.
99
137
  * Optimization of actual features.
138
+ * Representation theory.
139
+ * and much more...
100
140
 
101
141
  ---
102
142
 
103
143
  ## Documentation
104
144
 
105
- Detailed documentation is available in the [`docs`](https://github.com/MarioSultan/GroupsMath/tree/main/docs) directory of GitHub. The documentation is developed alongside the library.
145
+ 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.
106
146
 
107
147
  ---
108
148
 
@@ -110,9 +150,7 @@ Detailed documentation is available in the [`docs`](https://github.com/MarioSult
110
150
 
111
151
  GroupsMath is currently under active development.
112
152
 
113
- The project has successfully transitioned to an object-oriented interface centered around the `Group` class. The legacy function-based interface is being removed for future versions.
114
-
115
- The API should therefore be considered **unstable** until the `1.0.0` release, and breaking changes may occur between development versions.
153
+ The project has successfully transitioned to an object-oriented interface centered around the `Group` class. The legacy function-based interface is being removed for future versions. The API should therefore be considered unstable until the `1.0.0` release, and breaking changes may occur between development versions.
116
154
 
117
155
  ---
118
156
 
@@ -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
@@ -1,25 +1,31 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GroupsMath
3
- Version: 0.4.1
3
+ Version: 0.5.0
4
4
  Summary: The educational Python library for Group Theory
5
5
  Author-email: Mario Sultan Romero <mariosultan.uem@gmail.com>
6
6
  License: PolyForm Strict License 1.0.0.
7
7
  Project-URL: Homepage, https://github.com/MarioSultan/GroupsMath
8
8
  Project-URL: Documentation, https://github.com/MarioSultan/GroupsMath/tree/main/docs
9
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
10
14
  Classifier: Programming Language :: Python :: 3
11
15
  Classifier: Operating System :: OS Independent
12
16
  Requires-Python: >=3.8
13
17
  Description-Content-Type: text/markdown
14
18
  License-File: LICENSE
19
+ Requires-Dist: matplotlib>=3.0.0
20
+ Requires-Dist: numpy>=1.20.0
15
21
  Dynamic: license-file
16
22
 
17
- # GroupsMath – v0.4.1
23
+ # GroupsMath – v0.5.0
18
24
 
19
25
  ![GroupsMath Logo](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/logo.png)
20
26
 
21
27
 
22
- **GroupsMath** is a Python module for constructing, studying, and manipulating finite groups.
28
+ **GroupsMath** is a Python module for constructing, studying, and manipulating finite and infinite groups.
23
29
 
24
30
  The project aims to provide a simple and intuitive interface for working with finite groups and their algebraic properties.
25
31
 
@@ -29,30 +35,56 @@ The project aims to provide a simple and intuitive interface for working with fi
29
35
 
30
36
  ## Installation
31
37
 
32
- GroupsMath is currently distributed through GitHub and has not yet been published on PyPI.
33
-
34
- To install the latest released version from PyPI, run:
38
+ 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:
35
39
 
36
40
  ```bash
37
41
  pip install groupsmath
38
42
  ```
39
43
 
40
- Alternatively, you can install the latest development version directly from GitHub:
44
+ Also, you can install the latest development version directly from GitHub:
41
45
 
42
46
  ```bash
43
47
  pip install git+https://github.com/MarioSultan/GroupsMath.git
44
48
  ```
45
49
 
46
- Alternatively, you can visit https://github.com/MarioSultan/GroupsMath and download all the files.
50
+ or visit https://github.com/MarioSultan/GroupsMath and download all the files.
47
51
 
48
52
  ---
49
53
 
50
54
  ## Examples
51
55
 
56
+ ### A program in GroupsMath
57
+ ```python
58
+ import groupsmath as gm
59
+ from groupsmath.precooked import S3, A4, C3
60
+
61
+ #Calculating properties of the group S3
62
+
63
+ print(S3.order()) # 6
64
+ print(S3.elements) # ['e', '(23)', '(12)', '(123)', '(132)', '(13)']
65
+ print(S3.element_orders()) # [1, 2, 2, 3, 3, 2]
66
+ print(S3.is_cyclic()) # False
67
+ print(S3.is_abelian()) # False
68
+
69
+ #Generating Cayley table of S3
70
+
71
+ S3.cayley_table()
72
+
73
+ #Generating the Cayley table of the direct product A4xC3
74
+
75
+ G = A4 * C3 # Product group
76
+ G.cayley_table()
77
+
78
+ #Generating the group of units U1200 and its Cayley table
79
+
80
+ U1200 = gm.units_group(1200) # Create the group
81
+ U1200.cayley_table()
82
+ ```
83
+
52
84
  ### Cayley table of $S_3$
53
85
  ![S3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_S3.png)
54
86
 
55
- ### Cayley table of $A_5\times C_4$
87
+ ### Cayley table of $A_4\times C_3$
56
88
  ![A4xC3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_A4xC3.png)
57
89
 
58
90
  ### Cayley table of $U_{1200}$
@@ -63,10 +95,10 @@ Alternatively, you can visit https://github.com/MarioSultan/GroupsMath and downl
63
95
 
64
96
  ## Features
65
97
 
66
- GroupsMath is designed to provide tools for working with finite groups, including:
98
+ GroupsMath is designed to provide tools for working with finite (and infinite) groups, including:
67
99
 
68
100
  **GROUPS:**
69
- * Construction of finite groups.
101
+ * Construction of finite groups with classes `CayleyGroup` and `ExplicitGroup`.
70
102
  * Determination of the order of a group and its elements.
71
103
  * Operation with group elements (multiplication, inverse, powers, ...)
72
104
  * Computation of Cayley tables with `matplotlib.pyplot`.
@@ -81,12 +113,18 @@ GroupsMath is designed to provide tools for working with finite groups, includin
81
113
 
82
114
  **AUTOMORPHISMS:**
83
115
  * Class `Automorphism` and automorphism functions.
116
+ * Automorphisim functions $f:A\to\text{Aut}(B)$.
84
117
  * Automorphism groups $\text{Aut}(G)$.
85
118
 
86
119
  **PRODUCTS:**
87
120
  * Direct product of two groups $G\times H$.
88
121
  * Semidirect product of two groups $G\rtimes H$.
89
122
 
123
+ **MATRIX GROUPS**
124
+ * Library `groupsmath.matrixgroups` and class `MatrixGroup`.
125
+ * Groups generated by matrices: $GL$, $SL$, $O$, $SO$, $U$, $SU$ and $Sp$.
126
+ * Matrix groups over finite fields $\mathbb{F}_p$, with $p$ prime.
127
+
90
128
  The available functionality will expand as the project develops.
91
129
 
92
130
  ---
@@ -94,15 +132,17 @@ The available functionality will expand as the project develops.
94
132
  ## Coming soon
95
133
 
96
134
  The GroupsMath team is currently working on theese ideas:
97
- * Presentation of groups and generators.
98
- * Groups generated by matrices ($GL$, $O$,...).
135
+ * Presentation of groups, generators and class `PresentedGroup`.
136
+ * Free groups $F_n$ and free products.
99
137
  * Optimization of actual features.
138
+ * Representation theory.
139
+ * and much more...
100
140
 
101
141
  ---
102
142
 
103
143
  ## Documentation
104
144
 
105
- Detailed documentation is available in the [`docs`](https://github.com/MarioSultan/GroupsMath/tree/main/docs) directory of GitHub. The documentation is developed alongside the library.
145
+ 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.
106
146
 
107
147
  ---
108
148
 
@@ -110,9 +150,7 @@ Detailed documentation is available in the [`docs`](https://github.com/MarioSult
110
150
 
111
151
  GroupsMath is currently under active development.
112
152
 
113
- The project has successfully transitioned to an object-oriented interface centered around the `Group` class. The legacy function-based interface is being removed for future versions.
114
-
115
- The API should therefore be considered **unstable** until the `1.0.0` release, and breaking changes may occur between development versions.
153
+ The project has successfully transitioned to an object-oriented interface centered around the `Group` class. The legacy function-based interface is being removed for future versions. The API should therefore be considered unstable until the `1.0.0` release, and breaking changes may occur between development versions.
116
154
 
117
155
  ---
118
156
 
@@ -1,9 +1,9 @@
1
- # GroupsMath – v0.4.1
1
+ # GroupsMath – v0.5.0
2
2
 
3
3
  ![GroupsMath Logo](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/logo.png)
4
4
 
5
5
 
6
- **GroupsMath** is a Python module for constructing, studying, and manipulating finite groups.
6
+ **GroupsMath** is a Python module for constructing, studying, and manipulating finite and infinite groups.
7
7
 
8
8
  The project aims to provide a simple and intuitive interface for working with finite groups and their algebraic properties.
9
9
 
@@ -13,30 +13,56 @@ The project aims to provide a simple and intuitive interface for working with fi
13
13
 
14
14
  ## Installation
15
15
 
16
- GroupsMath is currently distributed through GitHub and has not yet been published on PyPI.
17
-
18
- To install the latest released version from PyPI, run:
16
+ 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:
19
17
 
20
18
  ```bash
21
19
  pip install groupsmath
22
20
  ```
23
21
 
24
- Alternatively, you can install the latest development version directly from GitHub:
22
+ Also, you can install the latest development version directly from GitHub:
25
23
 
26
24
  ```bash
27
25
  pip install git+https://github.com/MarioSultan/GroupsMath.git
28
26
  ```
29
27
 
30
- Alternatively, you can visit https://github.com/MarioSultan/GroupsMath and download all the files.
28
+ or visit https://github.com/MarioSultan/GroupsMath and download all the files.
31
29
 
32
30
  ---
33
31
 
34
32
  ## Examples
35
33
 
34
+ ### A program in GroupsMath
35
+ ```python
36
+ import groupsmath as gm
37
+ from groupsmath.precooked import S3, A4, C3
38
+
39
+ #Calculating properties of the group S3
40
+
41
+ print(S3.order()) # 6
42
+ print(S3.elements) # ['e', '(23)', '(12)', '(123)', '(132)', '(13)']
43
+ print(S3.element_orders()) # [1, 2, 2, 3, 3, 2]
44
+ print(S3.is_cyclic()) # False
45
+ print(S3.is_abelian()) # False
46
+
47
+ #Generating Cayley table of S3
48
+
49
+ S3.cayley_table()
50
+
51
+ #Generating the Cayley table of the direct product A4xC3
52
+
53
+ G = A4 * C3 # Product group
54
+ G.cayley_table()
55
+
56
+ #Generating the group of units U1200 and its Cayley table
57
+
58
+ U1200 = gm.units_group(1200) # Create the group
59
+ U1200.cayley_table()
60
+ ```
61
+
36
62
  ### Cayley table of $S_3$
37
63
  ![S3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_S3.png)
38
64
 
39
- ### Cayley table of $A_5\times C_4$
65
+ ### Cayley table of $A_4\times C_3$
40
66
  ![A4xC3 table](https://raw.githubusercontent.com/MarioSultan/GroupsMath/main/imgs/cayley_A4xC3.png)
41
67
 
42
68
  ### Cayley table of $U_{1200}$
@@ -47,10 +73,10 @@ Alternatively, you can visit https://github.com/MarioSultan/GroupsMath and downl
47
73
 
48
74
  ## Features
49
75
 
50
- GroupsMath is designed to provide tools for working with finite groups, including:
76
+ GroupsMath is designed to provide tools for working with finite (and infinite) groups, including:
51
77
 
52
78
  **GROUPS:**
53
- * Construction of finite groups.
79
+ * Construction of finite groups with classes `CayleyGroup` and `ExplicitGroup`.
54
80
  * Determination of the order of a group and its elements.
55
81
  * Operation with group elements (multiplication, inverse, powers, ...)
56
82
  * Computation of Cayley tables with `matplotlib.pyplot`.
@@ -65,12 +91,18 @@ GroupsMath is designed to provide tools for working with finite groups, includin
65
91
 
66
92
  **AUTOMORPHISMS:**
67
93
  * Class `Automorphism` and automorphism functions.
94
+ * Automorphisim functions $f:A\to\text{Aut}(B)$.
68
95
  * Automorphism groups $\text{Aut}(G)$.
69
96
 
70
97
  **PRODUCTS:**
71
98
  * Direct product of two groups $G\times H$.
72
99
  * Semidirect product of two groups $G\rtimes H$.
73
100
 
101
+ **MATRIX GROUPS**
102
+ * Library `groupsmath.matrixgroups` and class `MatrixGroup`.
103
+ * Groups generated by matrices: $GL$, $SL$, $O$, $SO$, $U$, $SU$ and $Sp$.
104
+ * Matrix groups over finite fields $\mathbb{F}_p$, with $p$ prime.
105
+
74
106
  The available functionality will expand as the project develops.
75
107
 
76
108
  ---
@@ -78,15 +110,17 @@ The available functionality will expand as the project develops.
78
110
  ## Coming soon
79
111
 
80
112
  The GroupsMath team is currently working on theese ideas:
81
- * Presentation of groups and generators.
82
- * Groups generated by matrices ($GL$, $O$,...).
113
+ * Presentation of groups, generators and class `PresentedGroup`.
114
+ * Free groups $F_n$ and free products.
83
115
  * Optimization of actual features.
116
+ * Representation theory.
117
+ * and much more...
84
118
 
85
119
  ---
86
120
 
87
121
  ## Documentation
88
122
 
89
- Detailed documentation is available in the [`docs`](https://github.com/MarioSultan/GroupsMath/tree/main/docs) directory of GitHub. The documentation is developed alongside the library.
123
+ 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.
90
124
 
91
125
  ---
92
126
 
@@ -94,9 +128,7 @@ Detailed documentation is available in the [`docs`](https://github.com/MarioSult
94
128
 
95
129
  GroupsMath is currently under active development.
96
130
 
97
- The project has successfully transitioned to an object-oriented interface centered around the `Group` class. The legacy function-based interface is being removed for future versions.
98
-
99
- The API should therefore be considered **unstable** until the `1.0.0` release, and breaking changes may occur between development versions.
131
+ The project has successfully transitioned to an object-oriented interface centered around the `Group` class. The legacy function-based interface is being removed for future versions. The API should therefore be considered unstable until the `1.0.0` release, and breaking changes may occur between development versions.
100
132
 
101
133
  ---
102
134