Cycles from patterns in a permutation matrix

Click For Summary
SUMMARY

The discussion centers on the complexity of detecting cycles in a permutation matrix, specifically addressing the efficiency of cycle decomposition. It is established that while the cycle decomposition can be achieved in O(n) time, the process may require O(n^2) time if each entry of a row must be read to find the next column. The conversation concludes that detecting a cycle before completing it is likely to have a complexity similar to sorting algorithms, averaging O(n log n) and reaching O(n^2) in the worst case.

PREREQUISITES
  • Understanding of permutation matrices and their properties
  • Familiarity with cycle decomposition in combinatorial mathematics
  • Knowledge of algorithmic complexity, specifically O(n) and O(n^2) notations
  • Basic principles of sorting algorithms and their complexities
NEXT STEPS
  • Research cycle decomposition techniques in permutation matrices
  • Learn about the properties of permutation matrices in linear algebra
  • Study the complexities of various sorting algorithms, focusing on O(n log n) and O(n^2)
  • Explore advanced algorithms for cycle detection in graphs
USEFUL FOR

Mathematicians, computer scientists, and algorithm developers interested in combinatorial optimization and cycle detection in data structures.

nomadreid
Gold Member
Messages
1,762
Reaction score
248
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
864
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K