ASKSAGE: Sage Q&A Forum - Individual question feedhttp://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Sun, 21 Jul 2013 02:59:27 -0500Direct product for finitely presented groupshttp://ask.sagemath.org/question/10367/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 <code>direct_product_groups</code>, 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 <code>direct_product_permgroups</code> or <code>direct_product_fpgroups</code>,
which I am currently implementing as a private constructor.
My goal for <code>direct_product_groups</code> 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.
-dshurbertSat, 20 Jul 2013 11:12:07 -0500http://ask.sagemath.org/question/10367/direct-product-for-finitely-presented-groups/Answer by Volker Braun for <p>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 <code>direct_product_groups</code>, 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 <code>direct_product_permgroups</code> or <code>direct_product_fpgroups</code>,
which I am currently implementing as a private constructor. </p>
<p>My goal for <code>direct_product_groups</code> 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.</p>
<p>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</p>
http://ask.sagemath.org/question/10367/direct-product-for-finitely-presented-groups/?answer=15262#post-id-15262sage-devel is probably a more appropriate discussion forum for that kind of question.
I would probably implement direct products as a method `G.direct_product(H)` using the GAP function if G is a group implemented in GAP. Then raise NotImplemented if H is not in GAP.Sun, 21 Jul 2013 02:59:27 -0500http://ask.sagemath.org/question/10367/direct-product-for-finitely-presented-groups/?answer=15262#post-id-15262