Re: Cyclic permutations
- To: mathgroup at smc.vnet.net
- Subject: [mg79417] Re: [mg79377] Cyclic permutations
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 26 Jul 2007 05:33:50 -0400 (EDT)
- References: <f7pon7$prc$1@smc.vnet.net><f7sgu2$ss8$1@smc.vnet.net> <f84juv$qpq$1@smc.vnet.net> <200707250614.CAA23554@smc.vnet.net> <200707250927.FAA26146@smc.vnet.net>
On 25 Jul 2007, at 10:27, King, Peter R wrote:
> I have a set of permutations eg.
>
> {a,b,c,d}, {a,c,b,d} {b,c,d,a}
>
> Some of which are just cyclic variations of others (ie. {b,c,d,a} is a
> cyclic variant of {a,b,c,d}). Is there a simple way of getting rid of
> these, so that the above set just becomes
>
> {a,b,c,d}, {a,c,b,d}
>
> I am quite happy to select the cyclic variant to be kept
> arbitrarily (or
> using lexical ordering, I'm not particularly concerned).
>
> Thanks in advance for your help.
>
> Peter King
>
> (by the way I am still using version 5.1 so V6 specific methods
> wouldn't
> help I'm afraid)
>
>
If
l = {{a, b, c, d}, {a, c, b, d}, {b, c, d, a}}
then
Union[(RotateLeft[#1, Position[#1, a][[1]] - 1] & ) /@ l]
{{a, b, c, d}, {a, c, b, d}}
will do what you want.
Andrzej Kozlowski
- References:
- Re: Mathematica to .NET compiler
- From: David Bailey <dave@Remove_Thisdbailey.co.uk>
- Cyclic permutations
- From: "King, Peter R" <peter.king@imperial.ac.uk>
- Re: Mathematica to .NET compiler