Re: Why are permutations duplicated with LexicographicPermutations? How to avoid this?
- To: mathgroup at smc.vnet.net
- Subject: [mg54675] Re: [mg54628] Why are permutations duplicated with LexicographicPermutations? How to avoid this?
- From: DrBob <drbob at bigfoot.com>
- Date: Fri, 25 Feb 2005 01:19:56 -0500 (EST)
- References: <200502240821.DAA13312@smc.vnet.net>
- Reply-to: drbob at bigfoot.com
- Sender: owner-wri-mathgroup at wolfram.com
You get duplicates because the two zeroes are treated as distinct items, as if you'd entered: Needs["DiscreteMath`Combinatorica`"] LexicographicPermutations[{a, b, c, d}] /. {c -> 0, d -> 0} Is this what you wanted, instead? Union@LexicographicPermutations[{a,b,0,0}] {{0,0,a,b},{0,0,b,a},{0,a,0,b},{0,a,b,0},{0,b,0,a},{0,b,a,0},{ a,0,0,b},{a,0,b,0},{a,b,0,0},{b,0,0,a},{b,0,a,0},{b,a,0,0}} or maybe... LexicographicPermutations[{a,b,0}]/.(0\[RuleDelayed]Sequence[0,0]) {{a,b,0,0},{a,0,0,b},{b,a,0,0},{b,0,0,a},{0,0,a,b},{0,0,b,a}} as for LexicographicPermutations[{0,C,D,0,G,H,J,0,0,P,0,0,T,V,0,X,Y,0,0,4,0,7,8,0}], you have GOT to be kidding. Even with the most conservative assumption, look how many permutations there'd be: Length@Union@{0,C,D,0,G,H,J,0,0,P,0,0,T,V,0,X,Y,0,0,4,0,7,8,0} %! 14 87178291200 Bobby On Thu, 24 Feb 2005 03:21:32 -0500 (EST), Valentina Mikel <valentina.mikel at po.htnet.hr> wrote: > When I enter > > LexicographicPermutations[{a, b, 0, 0}] > > the result is following: > {{a, b, 0, 0}, {a, b, 0, 0}, {a, 0, b, 0}, {a, 0, 0, b}, { > a, 0, b, 0}, {a, 0, 0, b}, {b, a, 0, 0}, {b, a, 0, 0}, { > b, 0, a, 0}, {b, 0, 0, a}, {b, 0, a, 0}, {b, 0, 0, a}, { > 0, a, b, 0}, {0, a, 0, b}, {0, b, a, 0}, {0, b, 0, a}, { > 0, 0, a, b}, {0, 0, b, a}, {0, a, b, 0}, {0, a, 0, b}, { > 0, b, a, 0}, {0, b, 0, a}, {0, 0, a, b}, {0, 0, b, a}} > > > Why does the result repeat duplicate cases? > In my case I must perform exact functionality of > LexicographicPermutations[{0,C,D,0,G,H,J,0,0,P,0,0,T,V,0,X,Y,0,0,4,0,7,8,0}]; > since there are lots of duplicates I'm trying to implement this in C++ > for maximum speed. > > Can this be avoided in Mathematica itself, and how? > > > > -- DrBob at bigfoot.com www.eclecticdreams.net
- References:
- Why are permutations duplicated with LexicographicPermutations? How to avoid this?
- From: Valentina Mikel <valentina.mikel@po.htnet.hr>
- Why are permutations duplicated with LexicographicPermutations? How to avoid this?