Direct product for finitely presented groups
I am currently trying to implement a direct product function for finitely presented groups by wrapping GAP's DirectProduct method. I have placed a constructor direct_product_groups
, which appears in the global namespace, in the top level groups.pyx file, which accepts a list of groups as input. The function then checks the representations of the groups listed, and calls the appropriate constructor
such as direct_product_permgroups
or direct_product_fpgroups
,
which I am currently implementing as a private constructor.
My goal for direct_product_groups
is that it will eventually completely mimic GAP's DirectProduct in that it takes a list of groups in any representation, and outputs their direct product in an appropriate representation. But for now, it behaves simply by punting its input to other, more specific constructors.
I was wondering if this approach is prefered, if this functionality is already implemented somewhere, or if anyone has any suggestions/thoughts/critiques at all. I'm new to Sage and want to get a feel for the response to this enhancement before it is posted to trac. -dshurbert