I have some funding from my university to develop materials in SAGE for use in my classes. The focus of the project is developing educational materials but we'd also like to contribute to SAGE development. I posted to sage-edu about educational issues. This post concerns development, specifically groups in SAGE and the relationship with GAP. I've hired two students, Rhea Morton and Ryan Rosenbaum to work on the project, and we would like some guidance on how we can contribute.
Some observations: A. William started a libgap, analogous to libsing, but it has lain fallow for a while. As we understand things, there is a somewhat different challenge with GAP. Much of Singular's functionality is written in C so that SAGE can access it via Cython, whereas much of GAP is written in GAP's own language, so pexpect is required to access it. How does this affect goals for libgap? Does this mean that libgap will be inherently limited in efficiency or functionality? B. The class Group seems to only loosely combine the different types of groups: permutation groups, abelian groups and matrix groups. For example, subgroup is not implemented for matrix groups. Also, the unit group of a ring (like U_n= Z_n*) and finitely presented groups aren't implemented (that we coud find). Should these be implemented in SAGE via GAP or have their own existence in SAGE? What are the goals for improvement of the Group functionality? C. Rhea is preparing a homomorphism package that exposes GAP's group homomorphism functions. In order to work it requires SAGE groups with GAP compatible generators. It doesn't work with the Integer ring, for example, because the Integer class doesn't extend from sage.groups. In addition, it works closely with the FreeGroup class so both would have to be submitted for it to be of much utility. Rhea has tested it with the FreeGroup class, SAGE DihedralGroup, and SAGE SymmetricGroup. The documentation and test cases are still being prepared. Comments? -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org