In mathematics, especially in linear algebra and matrix theory, the commutation matrix is used for transforming the vectorized form of a matrix into the vectorized form of its transpose. Specifically, the commutation matrix K<sup>(m,n)</sup> is the nm ÃÂ mn permutation matrix which, for any m ÃÂ n matrix A, transforms vec(A) into vec(A<sup>T</sup>):
K<sup>(m,n)</sup> vec(A) = vec(A<sup>T</sup>) .
Here vec(A) is the mn ÃÂ 1 column vector obtain by stacking the columns of A on top of one another:
where A = [A<sub>i,j</sub>]. In other words, vec(A) is the vector obtained by vectorizing A in column-major order. Similarly, vec(A<sup>T</sup>) is the vector obtaining by vectorizing A in row-major order. The cycles and other properties of this permutation have been heavily studied for in-place matrix transposition algorithms.
In the context of quantum information theory, the commutation matrix is sometimes referred to as the swap matrix or swap operator
Properties
- The commutation matrix is a special type of permutation matrix, and is therefore orthogonal. In particular, K<sup>(m,n)</sup> is equal to , where is the permutation over for which
:
- The determinant of K<sup>(m,n)</sup> is .
- Replacing A with A<sup>T</sup> in the definition of the commutation matrix shows that Therefore, in the special case of m = n the commutation matrix is an involution and symmetric.
- The main use of the commutation matrix, and the source of its name, is to commute the Kronecker product: for every m ÃÂ n matrix A and every r ÃÂ q matrix B,
:
This property is often used in developing the higher order statistics of Wishart covariance matrices.
- The case of n=q=1 for the above equation states that for any column vectors v,w of sizes m,r respectively,
:
This property is the reason that this matrix is referred to as the "swap operator" in the context of quantum information theory.
- Two explicit forms for the commutation matrix are as follows: if e<sub>r,j</sub> denotes the j-th canonical vector of dimension r (i.e. the vector with 1 in the j-th coordinate and 0 elsewhere) then
:
- The commutation matrix may be expressed as the following block matrix:
:
Where the p,q entry of n x m block-matrix K<sub>i,j</sub> is given by
:
For example,
:
Code
For both square and rectangular matrices of <code>m</code> rows and <code>n</code> columns, the commutation matrix can be generated by the code below.
Python
Alternatively, a version without imports:
MATLAB
R
Example
Let denote the following matrix:
has the following column-major and row-major vectorizations (respectively):
The associated commutation matrix is
(where each denotes a zero). As expected, the following holds:
References
- Jan R. Magnus and Heinz Neudecker (1988), Matrix Differential Calculus with Applications in Statistics and Econometrics, Wiley.