On Sat, Aug 25, 2012 at 2:22 PM, David Joyner <wdjoy...@gmail.com> wrote:
> On Thu, Aug 23, 2012 at 11:16 AM, Chris Smith <smi...@gmail.com> wrote:
>
> ...
>
>>
>> Do you mean cyclic notation, like ((123)(465)) ?
>>
>> We have that, but I think it uses the unconventional R to L rather
>> than L to R convention:
>>
>>>>> p=Permutation
>>>>> p([[1,2],[0],[3]])*p([[2,3],[0],[1]]
>> ... )
>> Permutation([0, 2, 3, 1])
>>>>> _.cyclic_form
>> [[1, 2, 3], [0]]
>>
>>
>> http://en.wikipedia.org/wiki/Cycle_notation says that the answer of
>> the above should be (132) not (123) (which is what SymPy gives when
>> the order of multiplication is reversed).
>>
>
> I confirmed that your code does as you said. Note that Gap does it
> correctly:
>
> gap> (1,2)*(2,3);
> (1,3,2)
>
> And even if you don't agree that this is "the correct" way to multiply
> permutations,
> the fact that Gap does it this way should I hope strongly suggest that
> it is at least
> the best way to do it.
>
> The issue is this: there are several program used for group theory 
> computations
> by most people Gap, Magma, and Sage. (Maybe I should include Mathematica?
> I don't know any serious group theory researchers who use it but maybe there 
> are
> some?) While Sage includes Gap, Sage has its own permutation multiplication
> (implemented in cython). These three main programs have the following in 
> common:
>
> (1) they all use the usual disjoint cycle notation (without
> singletons!) by default,
> (2) they all multiply in exactly the same way.
>
> It will be hard to switch people away from that. In fact, today I
> asked a group-theorist
> friend if he would use a group-theory program which does not use the usual
> disjoint cycle notation and he said no.

I wonder if you could ask your colleagues how they feel about using a
zero-based system instead of a one-based one (i.e., in this context,
Sn = {0, 1, 2, ..., n - 1} instead of {1, 2, ..., n}). Because this is
once instance where it's usually better to stick with Python
conventions over math conventions.

Personally, I'm somewhat skeptical that it will "just work" to say,
"if you want to use a one-based system, just use Sn+1 and pretend the
first element isn't there".

Aaron Meurer

>
> What Aleksander did was great. The algorithms can be very hard to
> understand correctly.
> There is a lot of good functionality now. That is definitely the hard part.
>
> I hope this interface issue is not too hard to correct.
>
>>
>
> ...
>
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "sympy" group.
>> To post to this group, send email to sympy@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> sympy+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/sympy?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To post to this group, send email to sympy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sympy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sympy?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to