Cycles from patterns in a permutation matrix

Click For Summary

Discussion Overview

The discussion revolves around the identification of cycles in permutation matrices, particularly exploring methods to efficiently detect cycles without fully traversing the matrix. Participants consider the computational complexity involved in cycle decomposition and the potential for quicker detection methods.

Discussion Character

  • Exploratory, Technical explanation, Debate/contested

Main Points Raised

  • One participant describes the characteristics of permutation matrices, noting how fixed points and transpositions can be identified through specific patterns in the matrix.
  • Another participant challenges the feasibility of finding cycles faster than the expected complexity of ##O(n)##, suggesting that reading all entries is necessary.
  • A later reply reflects on the complexity of detecting cycles, proposing that it could be ##O(n^2)## if the process involves reading all entries of a row to find the next column, and raises the question of whether cycles can be detected before they are fully closed.
  • There is a suggestion that the complexity of detecting cycles may relate to sorting algorithms, which typically have average complexities of ##O(n \log n)## and worst-case complexities of ##O(n^2)##.

Areas of Agreement / Disagreement

Participants express differing views on the computational complexity of detecting cycles in permutation matrices, with no consensus reached on whether a faster method exists.

Contextual Notes

Participants note that the complexity may depend on how cycle detection is defined and what specific operations are counted, indicating potential limitations in the discussion.

nomadreid
Gold Member
Messages
1,770
Reaction score
253
TL;DR
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?
 
Physics news on Phys.org
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.
 
  • Like
Likes   Reactions: nomadreid
Thanks, fresh_42. So the answer to my question is "no". That seems pretty clear.
 
nomadreid said:
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.
 
  • Like
Likes   Reactions: nomadreid

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 32 ·
2
Replies
32
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
1K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K