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
Click For Summary
SUMMARY

This discussion centers on generating a permutation matrix P that allows for cycling through all permutations of a matrix A through repeated applications. The user seeks a method to create a permutation matrix of size m x m, which, when applied m! times, returns to the original matrix A. It is concluded that for m > 2, such a permutation does not exist, as it would imply that the symmetric group Sm is a cyclic group, which it is not for m > 2. The discussion references specific tools such as GAP for calculating permutations.

PREREQUISITES
  • Understanding of permutation matrices and their properties
  • Familiarity with symmetric groups and group theory
  • Basic knowledge of linear algebra concepts
  • Experience with programming in C++ for implementing algorithms like next_permutation
NEXT STEPS
  • Explore the properties of permutation matrices in linear algebra
  • Learn about symmetric groups and their structure in group theory
  • Investigate the GAP system for computational group theory
  • Study recursive algorithms for generating permutations in programming
USEFUL FOR

Mathematicians, computer scientists, and software developers interested in combinatorial algorithms, group theory, and matrix operations.

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 P^{(m!)}, 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

<br /> \begin{bmatrix}<br /> 0 &amp; 0 &amp; 1 &amp; 0 \\<br /> 0 &amp; 0 &amp; 0 &amp; 1 \\<br /> 0 &amp; 1 &amp; 0 &amp; 0 \\<br /> 1 &amp; 0 &amp; 0 &amp; 0 \\<br /> \end{bmatrix}<br /> [/itex]<br /> <br /> (See also <a href="http://en.wikipedia.org/wiki/Permutation_matrix#Examples&quot;" target="_blank" class="link link--external" rel="nofollow ugc noopener">http://en.wikipedia.org/wiki/Permutation_matrix#Examples&quot;</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/&quot; and type into the command line: (4,1,3,2)^24 <br /> (see also http://people.math.jussieu.fr/~jmichel/htm/CHAP020.htm&quot; )<br /> <br /> There is a probably a theorem to calculate (a1,a2,...,am)^(m!).
 
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).
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 33 ·
2
Replies
33
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K