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

Reply via email to