Cycles from patterns in a permutation matrix

  • #1
nomadreid
Gold Member
1,609
185
TL;DR Summary
Beyond fixed points and transpositions, is there an easy way to spot the subset of rows in a permutation matrix that indicate a cycle ?
In a permutation matrix (the identity matrix with rows possibly rearranged), it is easy to spot those rows which will indicate a fixed point -- the one on the diagonal -- and to spot the pairs of rows that will indicate a transposition: a pair of ones on a backward diagonal, i.e., where the row+column subscripts are a constant -- and of course one can find cycles by multiplying a vector and tracing around what goes to what. But is there some quicker way to spot the collections of rows that will correspond to a cycle?
 

Answers and Replies

  • #2
fresh_42
Mentor
Insights Author
2022 Award
17,826
19,064
The cycle decomposition of a permutation should be ##O(n)##. How could you hope to find something faster? You still have to read those ##n## entries.
 
  • #3
nomadreid
Gold Member
1,609
185
Thanks, fresh_42. So the answer to my question is "no". That seems pretty clear.
 
  • #4
fresh_42
Mentor
Insights Author
2022 Award
17,826
19,064
Thanks, fresh_42. So the answer to my question is "no". That seems pretty clear.
Maybe I made a mistake. It could be ##O(n^2)## if we have to read all entries of a row to find the next column: if ##(i,j)## read ##k## until ##k=j##. So it depends a bit on what we are counting. Your question then could be phrased as: can we detect a cycle before closing the cycle? The answer is likely the complexity of a sorting algorithm which are in general ##O(n\log n)## average and ##O(n^2)## worst case.
 

Suggested for: Cycles from patterns in a permutation matrix

  • Last Post
Replies
6
Views
672
Replies
4
Views
946
  • Last Post
Replies
18
Views
828
  • Last Post
Replies
23
Views
2K
Replies
28
Views
2K
  • Last Post
Replies
1
Views
820
  • Last Post
Replies
7
Views
306
Replies
5
Views
940
  • Last Post
Replies
1
Views
389
Top