Mike, if you need something specific for your goals implemented on GAP side, please email gap-support and/or me.
Few further remarks: I also noticed and reported here a while ago that Sage's functionality for matrix group is not quite consistent with this functionality for permutation groups (probably due to the fact it was implemented by different people, or not at the same time.) One particular aspect you might consider in your project, is to connect GAP's GRAPE package, that works with graphs and their automorphisms, with Sage's graphs. Also, you probably do not want to do Sage's very own finitely presented groups; it's really a lot of work, some of it highly technical. Re-doing it from scratch is a challenge (as much as, say, a well-working commutative algebra system with Groebner bases etc). However, you should be aware of existence of an optional Sage package ACE (Advanced Coset Enumerator) that is a good stand-alone implementation of the Todd-Coxeter algorithm. Best, Dima On Mar 9, 7:58 am, Mike OS <mosul...@math.sdsu.edu> wrote: > 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