Generating a Permutation Matrix P for All Permutations of A

  • Context: Undergrad 
  • Thread starter Thread starter xnull
  • Start date Start date
  • Tags Tags
    Matrices Permutation
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 4K views
xnull
Messages
16
Reaction score
0
Hello!

I was wondering if there is a way to generate a permutation matrix P such that each application of P to another matrix A will find the "next" permutation of A. I'm looking for a way to generate a permutation matrix P (size m x m) such that applying it m! times to A (m x m) returns A (after having rolled through all possible permutations of A).

Am I looking for something I'm not going to be able to find?

Thanks!
 
Physics news on Phys.org
If I understood you correctly you are trying to calculate [tex]P^{(m!)}[/tex], where P is a permutation matrix. One way I can think of is to use the http://www.ece.cmu.edu/~smart/examples/cycle/cycle.html" , e.g. (4,1,3,2) stands for the matrix

[tex] \begin{bmatrix}<br /> 0 & 0 & 1 & 0 \\<br /> 0 & 0 & 0 & 1 \\<br /> 0 & 1 & 0 & 0 \\<br /> 1 & 0 & 0 & 0 \\<br /> \end{bmatrix}<br /> [/itex]<br /> <br /> (See also <a href="http://en.wikipedia.org/wiki/Permutation_matrix#Examples"" target="_blank" class="link link--external" rel="nofollow ugc noopener">http://en.wikipedia.org/wiki/Permutation_matrix#Examples"</a>)<br /> <br /> Then you have to calculate (4,1,3,2)^(m!) = (4,1,3,2)^(4!). You can use the program http://www.gap-system.org/" and type into the command line: (4,1,3,2)^24 <br /> (see also http://people.math.jussieu.fr/~jmichel/htm/CHAP020.htm" )<br /> <br /> There is a probably a theorem to calculate (a1,a2,...,am)^(m!).[/tex]
 
Last edited by a moderator:
Let me ask it another way...

Is there some permutation that can be done to a list of elements such that the recursive application of that permutation to that list will cycle through all possible permutations?

Basically I'd like something like C++'s next_permutation (but without having each application of the function permute the input list in a different manner than the previous one).

[After experimenting I think I'm looking for something that doesn't exist?]

Thank you to everyone who has replied so far.
 
Indeed, for size m > 2, this does not exist, because it would imply that Sm is a cyclic group (i.e. generated by one element), which it is not for m > 2.
 
Oh phoey!

Thank you Moo of Doom (and the greater whole that is PF).