Re: Enumerating Permutations
- To: mathgroup at smc.vnet.net
- Subject: [mg20055] Re: [mg20006] Enumerating Permutations
- From: BobHanlon at aol.com
- Date: Wed, 29 Sep 1999 03:33:20 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Vic,
I believe what you are looking for is RankPermutation
Needs["DiscreteMath`Combinatorica`"]
perms = Permutations[Range[4]];
?RankPermutation
"RankPermutation[p] gives the rank of permutation p in lexicographic order."
RankPermutation[{3, 2, 1, 4}]
14
RankPermutation /@ perms
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, \
21, 22, 23}
Bob Hanlon
In a message dated 9/25/1999 4:59:09 AM, fanberg at email.msn.com writes:
>I am looking for an algorithm for determining the Nth permutation (P) of
>a
>group T. I don't really care the ordering of the permutations within T,
>as
>long as all the permutations of P are members of T exactly once. (Each
>element of the permutation P is unique.)
>
>Actually, each of the permutations are only 7 digits long and I could list
>all 5040 permutations in a file about 35K, but I was hoping for something
>a
>little cleaner, in case I change to 8 or 9 digits long later.
>
>Does anyone know of such an algorithm?
>