Hi Jori, there are indeed many GAP method that are not exposed to the sage library. A while back I wrote a wrapper for (some) conjugacy classes methods: http://trac.sagemath.org/sage_trac/ticket/7886
My approach (suggested by N. Thiery) was to create two different classes, a generic one for fallback methods and a more specific one containing GAP-specific algorithms. My patches don't merge anymore, but I will try to rebase them over the weekend. Thanks for working on this! Javier PS: Due to a new work situation I haven't been following recent developments very closely. Is libGAP ready for prime time? Any reference on how to incorporate it to our code? On Thursday, January 31, 2013 10:00:34 AM UTC, jori.ma...@uta.fi wrote: > > There is function is_isomorphic in Sage, but there is not is_conjugate. > For curiosity I looked source, and it seems to be an oneliner to write > one: > > def are_conjugates(self, g1, g2): > """ > Returns ``True`` if ``g1`` and ``g2`` are conjugates under the > action of ``self``. > > EXAMPLES:: > > sage: G = SymmetricGroup(4) > sage: G1 = PermutationGroup(['(1,2)(3,4)', '(1,3)(2,4)']) > sage: G2 = PermutationGroup(['(1,2)', '(3,4)']) > sage: G3 = PermutationGroup(['(1,3)', '(2,4)']) > sage: G1.is_isomorphic(G2) > True > sage: G.are_conjugates(G1, G2) > False > sage: G.are_conjugates(G2, G3) > True > """ > # Add check for types here > return gap.IsConjugate(self, g1, g2).bool() > > However, I have never before modified the source code of Sage itself. At > least > two question came in mind: > > - What is naming policy? Should this be is_conjugate? What is best order > for > arguments? > > - Should there be a function that only looks to cycle structure? I mean > something like > > sage: G1 = PermutationGroup(['(1,2)']) > sage: G2 = PermutationGroup(['(2,3)']) > sage: G1.is_conjugate(G2) > True > > ? I.e. in this example assuming group S_3 as acting group. > > and a third one is, of course: > > - Is this stupid idea at beginning, and if not, is this oneliner going to > blow > up when trying with real examples? > > -- > Jori M�ntysalo > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.