BREAKING NEWS
Permutation matrix

## Summary

In mathematics, particularly in matrix theory, a permutation matrix is a square binary matrix that has exactly one entry of 1 in each row and each column with all other entries 0.[1]: 26  An n × n permutation matrix can represent a permutation of n elements. Pre-multiplying an n-row matrix M by a permutation matrix P, forming PM, results in permuting the rows of M, while post-multiplying an n-column matrix M, forming MP, permutes the columns of M.

Every permutation matrix P is orthogonal, with its inverse equal to its transpose: ${\displaystyle P^{-1}=P^{\mathsf {T}}}$.[1]: 26  Indeed, permutation matrices can be characterized as the orthogonal matrices whose entries are all non-negative.[2]

## The two permutation/matrix correspondences

There are two natural one-to-one correspondences between permutations and permutation matrices, one of which works along the rows of the matrix, the other along its columns. Here is an example, starting with a permutation π in two-line form at the upper left:

${\displaystyle {\begin{matrix}\pi \colon {\begin{pmatrix}1&2&3&4\\3&2&4&1\end{pmatrix}}&\longleftrightarrow &R_{\pi }\colon {\begin{pmatrix}0&0&1&0\\0&1&0&0\\0&0&0&1\\1&0&0&0\end{pmatrix}}\\[5pt]{\Big \updownarrow }&&{\Big \updownarrow }\\[5pt]C_{\pi }\colon {\begin{pmatrix}0&0&0&1\\0&1&0&0\\1&0&0&0\\0&0&1&0\end{pmatrix}}&\longleftrightarrow &\pi ^{-1}\colon {\begin{pmatrix}1&2&3&4\\4&2&1&3\end{pmatrix}}\end{matrix}}}$

The row-based correspondence takes the permutation π to the matrix ${\displaystyle R_{\pi }}$  at the upper right. The first row of ${\displaystyle R_{\pi }}$  has its 1 in the third column because ${\displaystyle \pi (1)=3}$ . More generally, we have ${\displaystyle R_{\pi }=(r_{ij})}$  where ${\displaystyle r_{ij}=1}$  when ${\displaystyle j=\pi (i)}$  and ${\displaystyle r_{ij}=0}$  otherwise.

The column-based correspondence takes π to the matrix ${\displaystyle C_{\pi }}$  at the lower left. The first column of ${\displaystyle C_{\pi }}$  has its 1 in the third row because ${\displaystyle \pi (1)=3}$ . More generally, we have ${\displaystyle C_{\pi }=(c_{ij})}$  where ${\displaystyle c_{ij}}$  is 1 when ${\displaystyle i=\pi (j)}$  and 0 otherwise. Since the two recipes differ only by swapping i with j, the matrix ${\displaystyle C_{\pi }}$  is the transpose of ${\displaystyle R_{\pi }}$ ; and, since ${\displaystyle R_{\pi }}$  is a permutation matrix, we have ${\displaystyle C_{\pi }=R_{\pi }^{\mathsf {T}}=R_{\pi }^{-1}}$ . Tracing the other two sides of the big square, we have ${\displaystyle R_{\pi ^{-1}}=C_{\pi }=R_{\pi }^{-1}}$  and ${\displaystyle C_{\pi ^{-1}}=R_{\pi }}$ .[3]

## Permutation matrices permute rows or columns

Multiplying a matrix M by either ${\displaystyle R_{\pi }}$  or ${\displaystyle C_{\pi }}$  on either the left or the right will permute either the rows or columns of M by either π or π−1. The details are a bit tricky.

To begin with, when we permute the entries of a vector ${\displaystyle (v_{1},\ldots ,v_{n})}$  by some permutation π, we move the ${\displaystyle i^{\text{th}}}$  entry ${\displaystyle v_{i}}$  of the input vector into the ${\displaystyle \pi (i)^{\text{th}}}$  slot of the output vector. Which entry then ends up in, say, the first slot of the output? Answer: The entry ${\displaystyle v_{j}}$  for which ${\displaystyle \pi (j)=1}$ , and hence ${\displaystyle j=\pi ^{-1}(1)}$ . Arguing similarly about each of the slots, we find that the output vector is

${\displaystyle {\big (}v_{\pi ^{-1}(1)},v_{\pi ^{-1}(2)},\ldots ,v_{\pi ^{-1}(n)}{\big )},}$

even though we are permuting by ${\displaystyle \pi }$ , not by ${\displaystyle \pi ^{-1}}$ . Thus, in order to permute the entries by ${\displaystyle \pi }$ , we must permute the indices by ${\displaystyle \pi ^{-1}}$ .[1]: 25  (Permuting the entries by ${\displaystyle \pi }$  is sometimes called taking the alibi viewpoint, while permuting the indices by ${\displaystyle \pi }$  would take the alias viewpoint.[4])

Now, suppose that we pre-multiply some n-row matrix ${\displaystyle M=(m_{i,j})}$  by the permutation matrix ${\displaystyle C_{\pi }}$ . By the rule for matrix multiplication, the ${\displaystyle (i,j)^{\text{th}}}$  entry in the product ${\displaystyle C_{\pi }M}$  is

${\displaystyle \sum _{k=1}^{n}c_{i,k}m_{k,j},}$

where ${\displaystyle c_{i,k}}$  is 0 except when ${\displaystyle i=\pi (k)}$ , when it is 1. Thus, the only term in the sum that survives is the term in which ${\displaystyle k=\pi ^{-1}(i)}$ , and the sum reduces to ${\displaystyle m_{\pi ^{-1}(i),j}}$ . Since we have permuted the row index by ${\displaystyle \pi ^{-1}}$ , we have permuted the rows of M themselves by π.[1]: 25  A similar argument shows that post-multiplying an n-column matrix M by ${\displaystyle R_{\pi }}$  permutes its columns by π.

The other two options are pre-multiplying by ${\displaystyle R_{\pi }}$  or post-multiplying by ${\displaystyle C_{\pi }}$ , and they permute the rows or columns respectively by π−1, instead of by π.

## The transpose is also the inverse

A related argument proves that, as we claimed above, the transpose of any permutation matrix P also acts as its inverse, which implies that P is invertible. (Artin leaves that proof as an exercise,[1]: 26  which we here solve.) If ${\displaystyle P=(p_{i,j})}$ , then the ${\displaystyle (i,j)^{\text{th}}}$  entry of its transpose ${\displaystyle P^{\mathsf {T}}}$  is ${\displaystyle p_{j,i}}$ . The ${\displaystyle (i,j)^{\text{th}}}$  entry of the product ${\displaystyle PP^{\mathsf {T}}}$  is then

${\displaystyle \sum _{k=1}^{n}p_{i,k}p_{j,k}.}$

Whenever ${\displaystyle i\neq j}$ , the ${\displaystyle k^{\text{th}}}$  term in this sum is the product of two different entries in the ${\displaystyle k^{\text{th}}}$  column of P; so all terms are 0, and the sum is 0. When ${\displaystyle i=j}$ , we are summing the squares of the entries in the ${\displaystyle i^{\text{th}}}$  row of P, so the sum is 1. The product ${\displaystyle PP^{\mathsf {T}}}$  is thus the identity matrix. A symmetric argument shows the same for ${\displaystyle P^{\mathsf {T}}P}$ , implying that P is invertible with ${\displaystyle P^{-1}=P^{\mathsf {T}}}$ .

## Multiplying permutation matrices

Given two permutations of n elements 𝜎 and 𝜏, the product of the corresponding column-based permutation matrices Cσ and Cτ is given,[1]: 25  as you might expect, by ${\displaystyle C_{\sigma }C_{\tau }=C_{\sigma \,\circ \,\tau },}$  where the composed permutation ${\displaystyle \sigma \circ \tau }$  applies first 𝜏 and then 𝜎, working from right to left: ${\displaystyle (\sigma \circ \tau )(k)=\sigma \left(\tau (k)\right).}$  This follows because pre-multiplying some matrix by Cτ and then pre-multiplying the resulting product by Cσ gives the same result as pre-multiplying just once by the combined ${\displaystyle C_{\sigma \,\circ \,\tau }}$ .

For the row-based matrices, there is a twist: The product of Rσ and Rτ is given by

${\displaystyle R_{\sigma }R_{\tau }=R_{\tau \,\circ \,\sigma },}$

with 𝜎 applied before 𝜏 in the composed permutation. This happens because we must post-multiply to avoid inversions under the row-based option, so we would post-multiply first by Rσ and then by Rτ.

Some people, when applying a function to an argument, write the function after the argument (postfix notation), rather than before it. When doing linear algebra, they work with linear spaces of row vectors, and they apply a linear map to an argument by using the map's matrix to post-multiply the argument's row vector. They often use a left-to-right composition operator, which we here denote using a semicolon; so the composition ${\displaystyle \sigma \,;\,\tau }$  is defined either by

${\displaystyle (\sigma \,;\,\tau )(k)=\tau \left(\sigma (k)\right),}$

or, more elegantly, by

${\displaystyle (k)(\sigma \,;\,\tau )=\left((k)\sigma \right)\tau ,}$

with 𝜎 applied first. That notation gives us a simpler rule for multiplying row-based permutation matrices:

${\displaystyle R_{\sigma }R_{\tau }=R_{\sigma \,;\,\tau }.}$

## Matrix group

When π is the identity permutation, which has ${\displaystyle \pi (i)=i}$  for all i, both Cπ and Rπ are the identity matrix.

There are n! permutation matrices, since there are n! permutations and the map ${\displaystyle C\colon \pi \mapsto C_{\pi }}$  is a one-to-one correspondence between permutations and permutation matrices. (The map ${\displaystyle R}$  is another such correspondence.) By the formulas above, those n × n permutation matrices form a group of order n! under matrix multiplication, with the identity matrix as its identity element, a group that we denote ${\displaystyle {\mathcal {P}}_{n}}$ . The group ${\displaystyle {\mathcal {P}}_{n}}$  is a subgroup of the general linear group ${\displaystyle GL_{n}(\mathbb {R} )}$  of invertible n × n matrices of real numbers. Indeed, for any field F, the group ${\displaystyle {\mathcal {P}}_{n}}$  is also a subgroup of the group ${\displaystyle GL_{n}(F)}$ , where the matrix entries belong to F. (Every field contains 0 and 1 with ${\displaystyle 0+0=0,}$  ${\displaystyle 0+1=1,}$  ${\displaystyle 0*0=0,}$  ${\displaystyle 0*1=0,}$  and ${\displaystyle 1*1=1;}$  and that's all we need to multiply permutation matrices. Different fields disagree about whether ${\displaystyle 1+1=0}$ , but that sum doesn't arise.)

Let ${\displaystyle S_{n}^{\leftarrow }}$  denote the symmetric group, or group of permutations, on {1,2,...,n} where the group operation is the standard, right-to-left composition "${\displaystyle \circ }$ "; and let ${\displaystyle S_{n}^{\rightarrow }}$  denote the opposite group, which uses the left-to-right composition "${\displaystyle \,;\,}$ ". The map ${\displaystyle C\colon S_{n}^{\leftarrow }\to GL_{n}(\mathbb {R} )}$  that takes π to its column-based matrix ${\displaystyle C_{\pi }}$  is a faithful representation, and similarly for the map ${\displaystyle R\colon S_{n}^{\rightarrow }\to GL_{n}(\mathbb {R} )}$  that takes π to ${\displaystyle R_{\pi }}$ .

## Doubly stochastic matrices

Every permutation matrix is doubly stochastic. The set of all doubly stochastic matrices is called the Birkhoff polytope, and the permutation matrices play a special role in that polytope. The Birkhoff–von Neumann theorem says that every doubly stochastic real matrix is a convex combination of permutation matrices of the same order, with the permutation matrices being precisely the extreme points (the vertices) of the Birkhoff polytope. The Birkhoff polytope is thus the convex hull of the permutation matrices.[5]

## Linear-algebraic properties

Just as each permutation is associated with two permutation matrices, each permutation matrix is associated with two permutations, as we can see by relabeling the example in the big square above starting with the matrix P at the upper right:

${\displaystyle {\begin{matrix}\rho _{P}\colon {\begin{pmatrix}1&2&3&4\\3&2&4&1\end{pmatrix}}&\longleftrightarrow &P\colon {\begin{pmatrix}0&0&1&0\\0&1&0&0\\0&0&0&1\\1&0&0&0\end{pmatrix}}\\[5pt]{\Big \updownarrow }&&{\Big \updownarrow }\\[5pt]P^{-1}\colon {\begin{pmatrix}0&0&0&1\\0&1&0&0\\1&0&0&0\\0&0&1&0\end{pmatrix}}&\longleftrightarrow &\kappa _{P}\colon {\begin{pmatrix}1&2&3&4\\4&2&1&3\end{pmatrix}}\end{matrix}}}$

So we are here denoting the inverse of C as ${\displaystyle \kappa }$  and the inverse of R as ${\displaystyle \rho }$ . We can then compute the linear-algebraic properties of P from some combinatorial properties that are shared by the two permutations ${\displaystyle \kappa _{P}}$  and ${\displaystyle \rho _{P}=\kappa _{P}^{-1}}$ .

A point is fixed by ${\displaystyle \kappa _{P}}$  just when it is fixed by ${\displaystyle \rho _{P}}$ , and the trace of P is the number of such shared fixed points.[1]: 322  If the integer k is one of them, then the standard basis vector ek is an eigenvector of P.[1]: 118

To calculate the complex eigenvalues of P, write the permutation ${\displaystyle \kappa _{P}}$  as a composition of disjoint cycles, say ${\displaystyle \kappa _{P}=c_{1}c_{2}\cdots c_{t}}$ . (Permutations of disjoint subsets commute, so it doesn't matter here whether we are composing right-to-left or left-to-right.) For ${\displaystyle 1\leq i\leq t}$ , let the length of the cycle ${\displaystyle c_{i}}$  be ${\displaystyle \ell _{i}}$ , and let ${\displaystyle L_{i}}$  be the set of complex solutions of ${\displaystyle x^{\ell _{i}}=1}$ , those solutions being the ${\displaystyle \ell _{i}^{\,{\text{th}}}}$  roots of unity. The multiset union of the ${\displaystyle L_{i}}$  is then the multiset of eigenvalues of P. Since writing ${\displaystyle \rho _{P}}$  as a product of cycles would give the same number of cycles of the same lengths, analyzing ${\displaystyle \rho _{p}}$  would give the same result. The multiplicity of any eigenvalue v is the number of i for which ${\displaystyle L_{i}}$  contains v.[6] (Since any permutation matrix is normal and any normal matrix is diagonalizable over the complex numbers,[1]: 259  the algebraic and geometric multiplicities of an eigenvalue v are the same.)

From group theory we know that any permutation may be written as a composition of transpositions. Therefore, any permutation matrix factors as a product of row-switching elementary matrices, each of which has determinant −1. Thus, the determinant of the permutation matrix P is the sign of the permutation ${\displaystyle \kappa _{P}}$ , which is also the sign of ${\displaystyle \rho _{P}}$ .

## Restricted forms

• Costas array, a permutation matrix in which the displacement vectors between the entries are all distinct
• n-queens puzzle, a permutation matrix in which there is at most one entry in each diagonal and antidiagonal

2. ^ Zavlanos, Michael M.; Pappas, George J. (November 2008). "A dynamical systems approach to weighted graph matching". Automatica. 44 (11): 2817–2824. CiteSeerX 10.1.1.128.6870. doi:10.1016/j.automatica.2008.04.009. S2CID 834305. Retrieved 21 August 2022. Let ${\displaystyle O_{n}}$  denote the set of ${\displaystyle n\times n}$  orthogonal matrices and ${\displaystyle N_{n}}$  denote the set of ${\displaystyle n\times n}$  element-wise non-negative matrices. Then, ${\displaystyle P_{n}=O_{n}\cap N_{n}}$ , where ${\displaystyle P_{n}}$  is the set of ${\displaystyle n\times n}$  permutation matrices.