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(m,n) is the nm × mn permutation matrix which, for any m × n matrix A, transforms vec(A) into vec(AT):

K(m,n) vec(A) = vec(AT) .

Here vec(A) is the mn × 1 column vector obtain by stacking the columns of A on top of one another:

where A = [Ai,j]. In other words, vec(A) is the vector obtained by vectorizing A in column-major order. Similarly, vec(AT) 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 [1]

Properties

edit
  • The commutation matrix is a special type of permutation matrix, and is therefore orthogonal. In particular, K(m,n) is equal to , where is the permutation over for which
  • The determinant of K(m,n) is .
  • Replacing A with AT in the definition of the commutation matrix shows that K(m,n) = (K(n,m))T. 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.[2]
  • 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 er,j 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 Ki,j is given by
For example,

Code

edit

For both square and rectangular matrices of m rows and n columns, the commutation matrix can be generated by the code below.

Python

edit
import numpy as np

def comm_mat(m, n):
    # determine permutation applied by K
    w = np.arange(m * n).reshape((m, n), order="F").T.ravel(order="F")

    # apply this permutation to the rows (i.e. to each column) of identity matrix and return result
    return np.eye(m * n)[w, :]

Alternatively, a version without imports:

# Kronecker delta
def delta(i, j):
    return int(i == j)

def comm_mat(m, n):
    # determine permutation applied by K
    v = [m * j + i for i in range(m) for j in range(n)]

    # apply this permutation to the rows (i.e. to each column) of identity matrix
    I = [[delta(i, j) for j in range(m * n)] for i in range(m * n)]
    return [I[i] for i in v]

MATLAB

edit
function P = com_mat(m, n)

% determine permutation applied by K
A = reshape(1:m*n, m, n);
v = reshape(A', 1, []);

% apply this permutation to the rows (i.e. to each column) of identity matrix
P = eye(m*n);
P = P(v,:);

R

edit
# Sparse matrix version
comm_mat = function(m, n){
  i = 1:(m * n)
  j = NULL
  for (k in 1:m) {
    j = c(j, m * 0:(n-1) + k)
  }
  Matrix::sparseMatrix(
    i = i, j = j, x = 1
  )
}

Example

edit

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

edit
  1. ^ Watrous, John (2018). The Theory of Quantum Information. Cambridge University Press. p. 94.
  2. ^ von Rosen, Dietrich (1988). "Moments for the Inverted Wishart Distribution". Scand. J. Stat. 15: 97–109.
  • Jan R. Magnus and Heinz Neudecker (1988), Matrix Differential Calculus with Applications in Statistics and Econometrics, Wiley.

📚 Artikel Terkait di Wikipedia

Kronecker product

matrices, called the "commutation" matrix. The Commutation matrix Sp, q can be constructed by taking slices of the Ir identity matrix, where r = p q {\displaystyle

Commute

in a group or ring Commutation matrix, a permutation matrix which is used for transforming the vectorized form of another matrix into the vectorized

Commuting matrices

Matrices A {\displaystyle A} that commute with matrix B {\displaystyle B} are called the commutant of matrix B {\displaystyle B} (and vice versa). A set

Pauli matrices

and δjk is the Kronecker delta. I denotes the 2 × 2 identity matrix. These anti-commutation relations make the Pauli matrices the generators of a representation

Vectorization (mathematics)

transpose is given by the commutation matrix. The vectorization is frequently used together with the Kronecker product to express matrix multiplication as a

Matrix mechanics

that AB − BA does not necessarily equal 0. The fundamental commutation relation of matrix mechanics, ∑ k ( X n k P k m − P n k X k m ) = i ℏ δ n m {\displaystyle

Inverse-Wishart distribution

p 2 × p 2 {\displaystyle K_{pp}{\text{ is a }}p^{2}\times p^{2}} commutation matrix C o v ⊗ ( W − 1 , W − 1 ) = E ( W − 1 ⊗ W − 1 ) − E ( W − 1 ) ⊗ E

List of named matrices

matrices used in mathematics, science and engineering. A matrix (plural matrices, or less commonly matrixes) is a rectangular array of numbers called entries