Articulo de referencia

Matriz de conmutación

AB - BA of two square matrices A and B in ring theory"}},"i":0}}]}"> En matemáticas , especialmente en álgebra lineal y teoría de matrices , la matriz de conmutación se utiliza ...

En matemáticas , especialmente en álgebra lineal y teoría de matrices , la matriz de conmutación se utiliza para transformar la forma vectorizada de una matriz en la forma vectorizada de su transpuesta . Específicamente, la matriz de conmutación K ( m , n ) es la matriz de permutación nm × mn que, para cualquier matriz m × n A , transforma vec( A ) en vec( A T ):

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

Aquí vec( A ) es el vector columna mn × 1 que se obtiene apilando las columnas de A una encima de la otra:

vector(A)=[A1,1,,Ametro,1,A1,2,,Ametro,2,,A1,norte,,Ametro,norte]T{\displaystyle \operatorname {vec} (\mathbf {A} )=[\mathbf {A} _{1,1},\ldots ,\mathbf {A} _{m,1},\mathbf {A} _{1,2},\ldots ,\mathbf {A} _{m,2},\ldots ,\mathbf {A} _{1,n},\ldots ,\mathbf {A} _{m,n}]^{\mathrm {T} }}

donde A = [ A i , j ]. En otras palabras, vec( A ) es el vector obtenido al vectorizar A en orden de columnas . De manera similar, vec( A T ) es el vector obtenido al vectorizar A en orden de filas. Los ciclos y otras propiedades de esta permutación se han estudiado ampliamente para algoritmos de transposición de matrices in situ .

En el contexto de la teoría de la información cuántica , la matriz de conmutación a veces se denomina matriz de intercambio u operador de intercambio [ 1 ].

Propiedades

  • La matriz de conmutación es un tipo especial de matriz de permutación y, por lo tanto, es ortogonal . En particular, K ( m , n ) es igual aPAGπ{\displaystyle \mathbf {P} _{\pi }}, dóndeπ{\displaystyle \pi }es la permutación sobre{1,,metronorte}{\displaystyle \{1,\dots ,mn\}}para qué
π(i+metro(j1))=j+norte(i1),i=1,,metro,j=1,,norte.{\displaystyle \pi (i+m(j-1))=j+n(i-1),\quad i=1,\dots ,m,\quad j=1,\dots ,n.}
  • El determinante de K ( m , n ) es(1)14norte(norte1)metro(metro1){\displaystyle (-1)^{{\frac {1}{4}}n(n-1)m(m-1)}}.
  • Sustituyendo A por AT en la definición de la matriz de conmutación se muestra que K ( m , n ) = ( K ( n , m ) ) T . Por lo tanto , en el caso especial de m = n la matriz de conmutación es una involución y simétrica .
  • El uso principal de la matriz de conmutación, y el origen de su nombre, es conmutar el producto de Kronecker : para cada matriz A de m × n y cada matriz B de r × q ,
K(r,metro)(AB)K(norte,q)=BA.{\displaystyle \mathbf {K} ^{(r,m)}(\mathbf {A} \otimes \mathbf {B} )\mathbf {K} ^{(n,q)}=\mathbf {B} \otimes \mathbf {A} .}
Esta propiedad se utiliza a menudo para desarrollar las estadísticas de orden superior de las matrices de covarianza de Wishart. [ 2 ]
  • El caso de n=q=1 para la ecuación anterior establece que para cualesquiera vectores columna v,w de tamaños m,r respectivamente,
K(r,metro)(vw)=wv.{\displaystyle \mathbf {K} ^{(r,m)}(\mathbf {v} \otimes \mathbf {w} )=\mathbf {w} \otimes \mathbf {v} .}
Esta propiedad es la razón por la que esta matriz se denomina "operador de intercambio" en el contexto de la teoría de la información cuántica.
  • Dos formas explícitas para la matriz de conmutación son las siguientes: si e r , j denota el j -ésimo vector canónico de dimensión r (es decir, el vector con 1 en la j -ésima coordenada y 0 en el resto) entonces
K(r,metro)=i=1rj=1metro(mir,imimetro,jT)(mimetro,jmir,iT)=i=1rj=1metro(mir,imimetro,j)(mimetro,jmir,i)T.{\displaystyle \mathbf {K} ^{(r,m)}=\sum _{i=1}^{r}\sum _{j=1}^{m}\left(\mathbf {e} _{r,i}{\mathbf {e} _{m,j}}^{\mathrm {T} }\right)\otimes \left(\mathbf {e} _{m,j}{\mathbf {e} _{r,i}}^{\mathrm {T} }\right)=\sum _{i=1}^{r}\sum _{j=1}^{m}\left(\mathbf {e} _{r,i}\otimes \mathbf {e} _{m,j}\right)\left(\mathbf {e} _{m,j}\otimes \mathbf {e} _{r,i}\right)^{\mathrm {T} }.}
  • La matriz de conmutación puede expresarse como la siguiente matriz de bloques:
K(metro,norte)=[K1,1K1,norteKmetro,1Kmetro,norte,],{\displaystyle \mathbf {K} ^{(m,n)}={\begin{bmatrix}\mathbf {K} _{1,1}&\cdots &\mathbf {K} _{1,n}\\\vdots &\ddots &\vdots \\\mathbf {K} _{m,1}&\cdots &\mathbf {K} _{m,n},\end{bmatrix}},}
Donde la entrada p,q de la matriz de bloques nxm K i,j viene dada por
Kij(pag,q)={1i=q y j=pag,0de lo contrario.{\displaystyle \mathbf {K} _{ij}(p,q)={\begin{cases}1&i=q{\text{ and }}j=p,\\0&{\text{otherwise}}.\end{cases}}}
Por ejemplo,
K(3,4)=[100000000000000100000000000000100000000000000100010000000000000010000000000000010000000000000010001000000000000001000000000000001000000000000001].{\displaystyle \mathbf {K} ^{(3,4)}=\left[{\begin{array}{ccc|ccc|ccc|ccc}1&0&0&0&0&0&0&0&0&0&0&0\\0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&0&0&0&1&0&0&0&0&0\\0&0&0&0&0&0&0&0&0&1&0&0\\\hline 0&1&0&0&0&0&0&0&0&0&0&0\\0&0&0&0&1&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&1&0&0&0&0\\0&0&0&0&0&0&0&0&0&0&1&0\\\hline 0&0&1&0&0&0&0&0&0&0&0&0\\0&0&0&0&0&1&0&0&0&0&0&0\\0&0&0&0&0&0&0&0&1&0&0&0\\0&0&0&0&0&0&0&0&0&0&0&1\end{array}}\right].}

Código

Para matrices cuadradas y rectangulares de mfilas y ncolumnas, la matriz de conmutación se puede generar mediante el siguiente código.

Pitón

import numpy as npdef comm_mat ( m , n ): # determinar la permutación aplicada por K w = np . arange ( m * n ) . reshape (( m , n ), order = "F" ) . T . ravel ( order = "F" )# Aplica esta permutación a las filas (es decir, a cada columna) de la matriz identidad y devuelve el resultado. return np.eye ( m * n ) [ w , : ]

Como alternativa, una versión sin importaciones:

# Delta de Kronecker def delta ( i , j ): retorno int ( i == j )def comm_mat ( m , n ): # determinar la permutación aplicada por K v = [ m * j + i for i in range ( m ) for j in range ( n )]# Aplica esta permutación a las filas (es decir, a cada columna) de la matriz identidad I = [[ delta ( i , j ) para j en rango ( m * n )] para i en rango ( m * n )] devuelve [ I [ i ] para i en v ]

MATLAB

función P = com_mat ( m, n )% determinar la permutación aplicada por K A = reshape ( 1 : m * n , m , n ); v = reshape ( A ' , 1 , []);% aplicar esta permutación a las filas (es decir, a cada columna) de la matriz identidad P = eye ( m * n ); P = P ( v ,:);

R

# Versión de matriz dispersa 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 ) }

Ejemplo

DejarA{\displaystyle A}denotar lo siguiente3×2{\displaystyle 3\times 2}matriz:

A=[142536].{\displaystyle A={\begin{bmatrix}1&4\\2&5\\3&6\\\end{bmatrix}}.}

A{\displaystyle A}tiene las siguientes vectorizaciones por columnas y por filas (respectivamente):

vcolumna=vector(A)=[123456],vfila=vector(AT)=[142536].{\displaystyle \mathbf {v} _{\text{col}}=\operatorname {vec} (A)={\begin{bmatrix}1\\2\\3\\4\\5\\6\\\end{bmatrix}},\quad \mathbf {v} _{\text{row}}=\operatorname {vec} (A^{\mathrm {T} })={\begin{bmatrix}1\\4\\2\\5\\3\\6\\\end{bmatrix}}.}

La matriz de conmutación asociada es

K=K(3,2)=[111111],{\displaystyle K=\mathbf {K} ^{(3,2)}={\begin{bmatrix}1&\cdot &\cdot &\cdot &\cdot &\cdot \\\cdot &\cdot &\cdot &1&\cdot &\cdot \\\cdot &1&\cdot &\cdot &\cdot &\cdot \\\cdot &\cdot &\cdot &\cdot &1&\cdot \\\cdot &\cdot &1&\cdot &\cdot &\cdot \\\cdot &\cdot &\cdot &\cdot &\cdot &1\\\end{bmatrix}},}

(donde cada{\displaystyle \cdot }(denota un cero). Como era de esperar, se cumple lo siguiente:

KTK=KKT=I6{\displaystyle K^{\mathrm {T} }K=KK^{\mathrm {T} }=\mathbf {I} _{6}}
Kvcolumna=vfila{\displaystyle K\mathbf {v} _{\text{col}}=\mathbf {v} _{\text{row}}}

Referencias

  1. Watrous, John (2018). La teoría de la información cuántica . Cambridge University Press. pág.  94.
  2. von Rosen, Dietrich (1988). "Momentos para la distribución de Wishart invertida". Scand. J. Stat . 15 : 97–109 .
  • Jan R. Magnus y Heinz Neudecker (1988), Cálculo diferencial matricial con aplicaciones en estadística y econometría , Wiley.