Re: Permutations of a sequence - variation 2
- To: mathgroup at smc.vnet.net
- Subject: [mg76230] Re: [mg76175] Permutations of a sequence - variation 2
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Fri, 18 May 2007 06:10:17 -0400 (EDT)
- References: <4712691.1179398561901.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
Clear[restrictedPermutations]
restrictedPermutations[x_List] :=
Module[{one = x[[1]], n = Length@x, oneGoesTo,
others = Permutations@Rest@x},
oneGoesTo = Range[1, n - 1];
Flatten[Outer[Insert[#1, one, #2] &, others, oneGoesTo, 1], 1]
];
restrictedPermutations@Range@4
{{1, 2, 3, 4}, {2, 1, 3, 4}, {2, 3, 1, 4}, {1, 2, 4, 3}, {2, 1, 4,
3}, {2, 4, 1, 3}, {1, 3, 2, 4}, {3, 1, 2, 4}, {3, 2, 1, 4}, {1, 3,
4, 2}, {3, 1, 4, 2}, {3, 4, 1, 2}, {1, 4, 2, 3}, {4, 1, 2, 3}, {4,
2, 1, 3}, {1, 4, 3, 2}, {4, 1, 3, 2}, {4, 3, 1, 2}}
Bobby
On Thu, 17 May 2007 05:01:16 -0500, Virgil Stokes <vs at it.uu.se> wrote:
> Suppose I have a sequence:
>
> {1,2,3,4,5}
>
> and I would like to generate all permutations of this sequence with th=
e
> constraint that the last element not be the same as the first.
> Thus,
>
> {2,5,3,1,4}
>
> is acceptable; but,
>
> {2,5,3,4,1}
>
> is not.
>
> Are there Mathematica commands that allow this to be done efficiently
> for a sequence {1,2,...,n}? Note, the solution of this problem can be
> used to solve the earlier problem that I posted on sequence permutatio=
ns.
>
> --V. Stokes
>
>
-- =
DrMajorBob at bigfoot.com