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.


Reply via email to