MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Cyclic permutations

  • To: mathgroup at smc.vnet.net
  • Subject: [mg79402] Re: [mg79377] Cyclic permutations
  • From: anguzman at ing.uchile.cl
  • Date: Thu, 26 Jul 2007 05:26:03 -0400 (EDT)
  • References: <f7pon7$prc$1@smc.vnet.net><f7sgu2$ss8$1@smc.vnet.net>

Hello:
I think  a possible solution could be:


UnionWithoutCycles[lista_List] :=
   Union @@ Append[List /@ #,
           SameTest -> (MemberQ[
                   Function[x, RotateLeft[#1, x]] /@
                     Range[Length[#1]], #2] &)] &[lista]



  Seems to work


In[98]:=
UnionWithoutCycles[{{2,3,4},{3,4,2},{a,b,c},{c,b,a},{b,c,a},{0,s},{s,0}}]

Out[98]=
{{0,s},{2,3,4},{a,b,c},{c,b,a}}


The function is straightforward but not fast or efficient. It takes 
advantage of the SameTest feature of the Union function. Two elemnts 
will considered to be the same if one of them is in the set of all 
cyclic  permutations of the other. These permutation were obtained 
with RotateLeft..

Hope this helps



Atte Andres Guzman


"King, Peter R" <peter.king at imperial.ac.uk> ha escrito:

> 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)
>
>
>



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



  • Prev by Date: How to return a mixture of vectors and matrices from compiled functions
  • Next by Date: Re: Cyclic permutations
  • Previous by thread: Re: Cyclic permutations
  • Next by thread: Re: Re: Cyclic permutations