It would be awesome to have a Group Theory module. Presently only Combinatorics module has been implemented in SymPy, which is fairly well developed. My intention is to create a module for computation with Finite Groups and Finitely Presented Groups. I will focus upon:
- How to represent the Finitely Presented Groups, Free Groups, SemiGroup, Monoids and their related Groups?
- How to represent the elements of respective Groups?
- If respective groups of infinite order are there, then How to deal with those groups?
- Respective algorithms for the computation of "Normailizers", "Centeralizer", "Center", "Order", "Subgroups", "Orbit" etc.
After taking a basic course in Abstract Algebra, i realised that computations in even the "small" (i.e small order) FpGroup is difficult to do manually. Also i have been contributing to SymPy for almost 1 year now, so i think adding its functionality to it would be good to SymPy and Python world in general. On the way i came across Magma software, i enjoyed reading its documentation (i haven't used it). Alas! it's a proprietary software, so i would like to add that functionality that i could use in further studies.