Матрицы перестановок

Перестановки можно представить в виде квадратной бинарной матрицы.

Матрица перестановки σ\sigma — такая матрица matσ\mat \sigma, в которой на ii-й строке цифра 11 стоит только в столбце σ(i)\sigma(i), а остальные элементы равны 00.

Например,

σ=(12343142)    matσ=(0010100000010100)\sigma = \pmatrix{1 & 2 & 3 & 4 \\ 3 & 1 & 4 & 2} \iff \mat \sigma = \pmatrix{0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0}

В матрице перестановки в каждой строке и в каждом столбце ровно одна 11.

У единичной перестановки матрица равна единичной матрице, mat1=1\mat \1 = \1.

Матрицы перестановок можно легко использовать для выражения операций с перестановками. В частности,

matσmatτ=mat(στ)\mat \sigma \cdot \mat \tau = \mat (\sigma \compose \tau)

При этом matσ(matσ)T=(matσ)Tmatσ=1\mat \sigma \cdot (\mat \sigma)^\T = (\mat \sigma)^\T \cdot \mat \sigma = \1, поэтому матрицы перестановок ортогональны, то есть (matσ)1=(matσ)T(\mat \sigma)^{-1} = (\mat \sigma)^\T.

Еще важное свойство: определитель матрицы перестановки равен четности этой перестановки

matσ=signσ| \mat \sigma | = \sign \sigma

Матричные свойства

Следующее свойство открывает большое количество возможностей в матричных вычислениях. Рассмотрим пока матрицу Pij=mat(ij)P_{ij} = \mat (ij) — матрицу транспозиции элементов ii и jj.

При перемножении PijP_{ij} на любую матрицу AA, у AA меняются местами строки ii и jj. А если умножить AA на PijP_{ij}, то в матрице AA поменяются местами столбцы ii и jj.

Мы знаем, что любую перестановку порядка nn можно разложить в композицию n1n-1 транспозиции. Значит, можно добиться любой перестановки строк и столбцов матрицы AA с помощью двух матриц перестановок PP и QQ, просто посчитав PAQP \cdot A \cdot Q.