Producto Kronecker

Operación matemática sobre matrices

En matemáticas , el producto de Kronecker , a veces denotado por ⊗, es una operación sobre dos matrices de tamaño arbitrario que da como resultado una matriz de bloques . Es una especialización del producto tensorial (que se denota con el mismo símbolo) de vectores a matrices y da como resultado la matriz de la función lineal del producto tensorial con respecto a una elección estándar de base . El producto de Kronecker debe distinguirse de la multiplicación de matrices habitual , que es una operación completamente diferente. El producto de Kronecker también se denomina a veces producto directo de matrices . [1]

El producto de Kronecker recibe su nombre del matemático alemán Leopold Kronecker (1823-1891), aunque hay poca evidencia de que él fuera el primero en definirlo y utilizarlo. El producto de Kronecker también se ha denominado matriz de Zehfuss y producto de Zehfuss , en honor a Johann Georg Zehfuss  [de] , quien en 1858 describió esta operación matricial, pero el producto de Kronecker es actualmente el término más utilizado. [2] [3] La atribución errónea a Kronecker en lugar de a Zehfuss se debió a Kurt Hensel . [4]

Definición

Si A es una matriz m × n y B es una matriz p × q , entonces el producto de Kronecker AB es la matriz de bloques pm × qn :

A B = [ a 11 B a 1 norte B a metro 1 B a metro norte B ] , {\displaystyle \mathbf {A} \otimes \mathbf {B} ={\begin{bmatrix}a_{11}\mathbf {B} &\cdots &a_{1n}\mathbf {B} \\\vdots &\ddots &\vdots \\a_{m1}\mathbf {B} &\cdots &a_{mn}\mathbf {B} \end{bmatrix}},}

Más explícitamente:

A B = [ a 11 b 11 a 11 b 12 a 11 b 1 q a 1 norte b 11 a 1 norte b 12 a 1 norte b 1 q a 11 b 21 a 11 b 22 a 11 b 2 q a 1 norte b 21 a 1 norte b 22 a 1 norte b 2 q a 11 b pag 1 a 11 b pag 2 a 11 b pag q a 1 norte b pag 1 a 1 norte b pag 2 a 1 norte b pag q a metro 1 b 11 a metro 1 b 12 a metro 1 b 1 q a metro norte b 11 a metro norte b 12 a metro norte b 1 q a metro 1 b 21 a metro 1 b 22 a metro 1 b 2 q a metro norte b 21 a metro norte b 22 a metro norte b 2 q a metro 1 b pag 1 a metro 1 b pag 2 a metro 1 b pag q a metro norte b pag 1 a metro norte b pag 2 a metro norte b pag q ] . {\displaystyle {\mathbf {A} \otimes \mathbf {B} }={\begin{bmatrix}a_{11}b_{11}&a_{11}b_{12}&\cdots &a_{11}b_{1q}&\cdots &\cdots &a_{1n}b_{11}&a_{1n}b_{12}&\cdots &a_{1n}b_{1q}\\a_{11}b_{21}&a_{11}b_{22}&\cdots &a_{11}b_{2q}&\cdots &\cdots &a_{1n}b_{21}&a_{1n}b_{22}&\cdots &a_{1n}b_{2q}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\dpuntos &\vpuntos \\a_{11}b_{p1}&a_{11}b_{p2}&\cdots &a_{11}b_{pq}&\cdots &\cdots &a_{1n}b_{p1}&a_{1n}b_{p2}&\cdots &a_{1n}b_{pq}\\\vpuntos &\vpuntos &&\vpuntos &\dpuntos &&\vpuntos &\vpuntos &&\vpuntos \\\vpuntos &\vpuntos &&\vpuntos &&\ddots &\vpuntos &\vpuntos &&\vpuntos \\a_{m1}b_{11}&a_{m1}b_{12}&\cdots &a_{m1}b_{1q}&\cdots &\cdots &a_{mn}b_{11}&a_{mn}b_{12}&\cdots &a_{mn}b_{1q}\\a_{m1}b_{21}&a_{m1}b_{22}&\cdots &a_{m1}b_{2q}&\cdots &\cdots &a_{mn}b_{21}&a_{mn}b_{22}&\cdots &a_{mn}b_{2q}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\ddots &\vdots \\a_{m1}b_{p1}&a_{m1}b_{p2}&\cdots &a_{m1}b_{pq}&\cdots &\cdots &a_{mn}b_{p1}&a_{mn}b_{p2}&\cdots &a_{mn}b_{pq}\end{bmatrix}}.}

Usando y para denotar la división entera truncada y el resto , respectivamente, y numerando los elementos de la matriz comenzando desde 0, se obtiene / / {\displaystyle /\!/} % {\displaystyle \%}

( A B ) p r + v , q s + w = a r s b v w {\displaystyle (A\otimes B)_{pr+v,qs+w}=a_{rs}b_{vw}}
( A B ) i , j = a i / / p , j / / q b i % p , j % q . {\displaystyle (A\otimes B)_{i,j}=a_{i/\!/p,j/\!/q}b_{i\%p,j\%q}.}

Para la numeración habitual a partir de 1, se obtiene

( A B ) p ( r 1 ) + v , q ( s 1 ) + w = a r s b v w {\displaystyle (A\otimes B)_{p(r-1)+v,q(s-1)+w}=a_{rs}b_{vw}}
( A B ) i , j = a i / p , j / q b ( i 1 ) % p + 1 , ( j 1 ) % q + 1 . {\displaystyle (A\otimes B)_{i,j}=a_{\lceil i/p\rceil ,\lceil j/q\rceil }b_{(i-1)\%p+1,(j-1)\%q+1}.}

Si A y B representan transformaciones lineales V 1W 1 y V 2W 2 , respectivamente, entonces el producto tensorial de las dos aplicaciones está representado por AB , que es lo mismo que V 1V 2W 1W 2 .

Ejemplos

[ 1 2 3 4 ] [ 0 5 6 7 ] = [ 1 [ 0 5 6 7 ] 2 [ 0 5 6 7 ] 3 [ 0 5 6 7 ] 4 [ 0 5 6 7 ] ] = [ 1 × 0 1 × 5 2 × 0 2 × 5 1 × 6 1 × 7 2 × 6 2 × 7 3 × 0 3 × 5 4 × 0 4 × 5 3 × 6 3 × 7 4 × 6 4 × 7 ] = [ 0 5 0 10 6 7 12 14 0 15 0 20 18 21 24 28 ] . {\displaystyle {\begin{bmatrix}1&2\\3&4\\\end{bmatrix}}\otimes {\begin{bmatrix}0&5\\6&7\\\end{bmatrix}}={\begin{bmatrix}1{\begin{bmatrix}0&5\\6&7\\\end{bmatrix}}&2{\begin{bmatrix}0&5\\6&7\\\end{bmatrix}}\\3{\begin{bmatrix}0&5\\6&7\\\end{bmatrix}}&4{\begin{bmatrix}0&5\\6&7\\\end{bmatrix}}\\\end{bmatrix}}=\left[{\begin{array}{cc|cc}1\times 0&1\times 5&2\times 0&2\times 5\\1\times 6&1\times 7&2\times 6&2\times 7\\\hline 3\times 0&3\times 5&4\times 0&4\times 5\\3\times 6&3\times 7&4\times 6&4\times 7\\\end{array}}\right]=\left[{\begin{array}{cc|cc}0&5&0&10\\6&7&12&14\\\hline 0&15&0&20\\18&21&24&28\end{array}}\right].}

Similarmente:

[ 1 4 7 2 3 3 ] [ 8 9 6 5 1 3 4 7 2 8 8 3 1 2 5 1 ] = [ 8 9 6 5 32 36 24 20 56 63 42 35 1 3 4 7 4 12 16 28 7 21 28 49 2 8 8 3 8 32 32 12 14 56 56 21 1 2 5 1 4 8 20 4 7 14 35 7 16 18 12 10 24 27 18 15 24 27 18 15 2 6 8 14 3 9 12 21 3 9 12 21 4 16 16 6 6 24 24 9 6 24 24 9 2 4 10 2 3 6 15 3 3 6 15 3 ] {\displaystyle {\begin{bmatrix}1&-4&7\\-2&3&3\end{bmatrix}}\otimes {\begin{bmatrix}8&-9&-6&5\\1&-3&-4&7\\2&8&-8&-3\\1&2&-5&-1\end{bmatrix}}=\left[{\begin{array}{cccc|cccc|cccc}8&-9&-6&5&-32&36&24&-20&56&-63&-42&35\\1&-3&-4&7&-4&12&16&-28&7&-21&-28&49\\2&8&-8&-3&-8&-32&32&12&14&56&-56&-21\\1&2&-5&-1&-4&-8&20&4&7&14&-35&-7\\\hline -16&18&12&-10&24&-27&-18&15&24&-27&-18&15\\-2&6&8&-14&3&-9&-12&21&3&-9&-12&21\\-4&-16&16&6&6&24&-24&-9&6&24&-24&-9\\-2&-4&10&2&3&6&-15&-3&3&6&-15&-3\end{array}}\right]}

Propiedades

Relaciones con otras operaciones matriciales

  1. Bilinealidad y asociatividad :

    El producto Kronecker es un caso especial del producto tensorial , por lo que es bilineal y asociativo :

    A ( B + C ) = A B + A C , ( B + C ) A = B A + C A , ( k A ) B = A ( k B ) = k ( A B ) , ( A B ) C = A ( B C ) , A 0 = 0 A = 0 , {\displaystyle {\begin{aligned}\mathbf {A} \otimes (\mathbf {B} +\mathbf {C} )&=\mathbf {A} \otimes \mathbf {B} +\mathbf {A} \otimes \mathbf {C} ,\\(\mathbf {B} +\mathbf {C} )\otimes \mathbf {A} &=\mathbf {B} \otimes \mathbf {A} +\mathbf {C} \otimes \mathbf {A} ,\\(k\mathbf {A} )\otimes \mathbf {B} &=\mathbf {A} \otimes (k\mathbf {B} )=k(\mathbf {A} \otimes \mathbf {B} ),\\(\mathbf {A} \otimes \mathbf {B} )\otimes \mathbf {C} &=\mathbf {A} \otimes (\mathbf {B} \otimes \mathbf {C} ),\\\mathbf {A} \otimes \mathbf {0} &=\mathbf {0} \otimes \mathbf {A} =\mathbf {0} ,\end{aligned}}}
    donde A , B y C son matrices, 0 es una matriz cero y k es un escalar.
  2. No conmutativo :

    En general, AB y BA son matrices diferentes. Sin embargo, AB y BA son equivalentes en permutaciones, lo que significa que existen matrices de permutaciones P y Q tales que [5]

    B A = P ( A B ) Q . {\displaystyle \mathbf {B} \otimes \mathbf {A} =\mathbf {P} \,(\mathbf {A} \otimes \mathbf {B} )\,\mathbf {Q} .}

    Si A y B son matrices cuadradas, entonces AB y BA son permutaciones pares similares , lo que significa que podemos tomar P = Q T .

    Las matrices P y Q son matrices de barajado perfectas. [6] La matriz de barajado perfecta S p , q se puede construir tomando porciones de la matriz identidad I r , donde . r = p q {\displaystyle r=pq}

    S p , q = [ I r ( 1 : q : r , : ) I r ( 2 : q : r , : ) I r ( q : q : r , : ) ] {\displaystyle \mathbf {S} _{p,q}={\begin{bmatrix}\mathbf {I} _{r}(1:q:r,:)\\\mathbf {I} _{r}(2:q:r,:)\\\vdots \\\mathbf {I} _{r}(q:q:r,:)\end{bmatrix}}}

    Aquí se utiliza la notación de dos puntos de MATLAB para indicar submatrices, e I r es la matriz identidad r × r . Si y , entonces A R m 1 × n 1 {\displaystyle \mathbf {A} \in \mathbb {R} ^{m_{1}\times n_{1}}} B R m 2 × n 2 {\displaystyle \mathbf {B} \in \mathbb {R} ^{m_{2}\times n_{2}}}

    B A = S m 1 , m 2 ( A B ) S n 1 , n 2 T {\displaystyle \mathbf {B} \otimes \mathbf {A} =\mathbf {S} _{m_{1},m_{2}}(\mathbf {A} \otimes \mathbf {B} )\mathbf {S} _{n_{1},n_{2}}^{\textsf {T}}}
  3. La propiedad del producto mixto:

    Si A , B , C y D son matrices de tal tamaño que se pueden formar los productos matriciales AC y BD , entonces [7]

    ( A B ) ( C D ) = ( A C ) ( B D ) . {\displaystyle (\mathbf {A} \otimes \mathbf {B} )(\mathbf {C} \otimes \mathbf {D} )=(\mathbf {AC} )\otimes (\mathbf {BD} ).}

    Esto se llama propiedad del producto mixto , porque mezcla el producto de la matriz ordinaria y el producto de Kronecker.

    Como consecuencia inmediata (de nuevo, tomando y ), A R m 1 × n 1 {\displaystyle \mathbf {A} \in \mathbb {R} ^{m_{1}\times n_{1}}} B R m 2 × n 2 {\displaystyle \mathbf {B} \in \mathbb {R} ^{m_{2}\times n_{2}}}

    A B = ( I m 1 B ) ( A I n 2 ) = ( A I m 2 ) ( I n 1 B ) . {\displaystyle \mathbf {A} \otimes \mathbf {B} =(\mathbf {I} _{m_{1}}\otimes \mathbf {B} )(\mathbf {A} \otimes \mathbf {I} _{n_{2}})=(\mathbf {A} \otimes \mathbf {I} _{m_{2}})(\mathbf {I} _{n_{1}}\otimes \mathbf {B} ).}

    En particular, utilizando la propiedad de transposición desde abajo, esto significa que si

    A = Q U {\displaystyle \mathbf {A} =\mathbf {Q} \otimes \mathbf {U} }

    y Q y U son ortogonales (o unitarios ), entonces A también es ortogonal (resp., unitario).

    El producto matriz-vector mixto de Kronecker se puede escribir como:

    ( A B ) vec ( V ) = vec ( B V A T ) {\displaystyle \left(\mathbf {A} \otimes \mathbf {B} \right)\operatorname {vec} \left(\mathbf {V} \right)=\operatorname {vec} (\mathbf {B} \mathbf {V} \mathbf {A} ^{T})}
    ¿Dónde se aplica el operador de vectorización (formado al remodelar la matriz)? vec ( V ) {\displaystyle \operatorname {vec} (\mathbf {V} )} V {\displaystyle \mathbf {V} }
  4. Producto de Hadamard (multiplicación elemento por elemento):

    La propiedad del producto mixto también funciona para el producto elemento por elemento. Si A y C son matrices del mismo tamaño, B y D son matrices del mismo tamaño, entonces [7]

    ( A B ) ( C D ) = ( A C ) ( B D ) . {\displaystyle (\mathbf {A} \otimes \mathbf {B} )\circ (\mathbf {C} \otimes \mathbf {D} )=(\mathbf {A} \circ \mathbf {C} )\otimes (\mathbf {B} \circ \mathbf {D} ).}
  5. La inversa de un producto Kronecker:

    De ello se deduce que AB es invertible si y solo si tanto A como B son invertibles, en cuyo caso la inversa viene dada por

    ( A B ) 1 = A 1 B 1 . {\displaystyle (\mathbf {A} \otimes \mathbf {B} )^{-1}=\mathbf {A} ^{-1}\otimes \mathbf {B} ^{-1}.}

    La propiedad del producto invertible también se aplica a la pseudoinversa de Moore-Penrose , [7] [8] es decir

    ( A B ) + = A + B + . {\displaystyle (\mathbf {A} \otimes \mathbf {B} )^{+}=\mathbf {A} ^{+}\otimes \mathbf {B} ^{+}.}

    En el lenguaje de la teoría de categorías , la propiedad de producto mixto del producto de Kronecker (y el producto tensorial más general) muestra que la categoría Mat F de matrices sobre un cuerpo F es, de hecho, una categoría monoidal , con objetos números naturales n , morfismos nm son matrices n × m con entradas en F , la composición está dada por la multiplicación de matrices, las flechas identidad son simplemente matrices identidad n × n I n , y el producto tensorial está dado por el producto de Kronecker. [9]

    Mat F es una categoría esqueleto concreta para la categoría equivalente FinVect F de espacios vectoriales de dimensión finita sobre F , cuyos objetos son tales espacios vectoriales de dimensión finita V , las flechas son aplicaciones F -lineales L  : VW , y las flechas identidad son las aplicaciones identidad de los espacios. La equivalencia de categorías supone elegir simultáneamente una base en cada espacio vectorial de dimensión finita V sobre F ; los elementos de las matrices representan estas aplicaciones con respecto a las bases elegidas; y, asimismo, el producto de Kronecker es la representación del producto tensorial en las bases elegidas.
  6. Transponer :

    La transposición y la transposición conjugada son distributivas sobre el producto de Kronecker:

    ( A B ) T = A T B T {\displaystyle (\mathbf {A} \otimes \mathbf {B} )^{\textsf {T}}=\mathbf {A} ^{\textsf {T}}\otimes \mathbf {B} ^{\textsf {T}}} y ( A B ) = A B . {\displaystyle (\mathbf {A} \otimes \mathbf {B} )^{*}=\mathbf {A} ^{*}\otimes \mathbf {B} ^{*}.}
  7. Determinante :

    Sea A una matriz n × n y sea B una matriz m × m . Entonces

    | A B | = | A | m | B | n . {\displaystyle \left|\mathbf {A} \otimes \mathbf {B} \right|=\left|\mathbf {A} \right|^{m}\left|\mathbf {B} \right|^{n}.}
    El exponente en | A | es el orden de B y el exponente en | B | es el orden de A .
  8. Suma y exponenciación de Kronecker :

    Si A es n × n , B es m × m e I k denota la matriz identidad k × k entonces podemos definir lo que a veces se llama suma de Kronecker , ⊕, por

    A B = A I m + I n B . {\displaystyle \mathbf {A} \oplus \mathbf {B} =\mathbf {A} \otimes \mathbf {I} _{m}+\mathbf {I} _{n}\otimes \mathbf {B} .}

    Esto es diferente de la suma directa de dos matrices. Esta operación está relacionada con el producto tensorial en las álgebras de Lie , como se detalla a continuación (#Propiedades abstractas) en el punto "Relación con el producto tensorial abstracto ".

    Tenemos la siguiente fórmula para la matriz exponencial , que es útil en algunas evaluaciones numéricas. [10]

    exp ( N M ) = exp ( N ) exp ( M ) {\displaystyle \exp({\mathbf {N} \oplus \mathbf {M} })=\exp(\mathbf {N} )\otimes \exp(\mathbf {M} )}

    Las sumas de Kronecker aparecen de forma natural en física cuando se consideran conjuntos de sistemas que no interactúan . [ cita requerida ] Sea H k el hamiltoniano del k -ésimo sistema de este tipo. Entonces, el hamiltoniano total del conjunto es

    H Tot = k H k . {\displaystyle H_{\operatorname {Tot} }=\bigoplus _{k}H^{k}.}
  9. Vectorización de un producto Kronecker:

    Sea una matriz y una matriz. Cuando se intercambia el orden del producto de Kronecker y la vectorización, las dos operaciones se pueden vincular linealmente a través de una función que involucra a la matriz de conmutación . Es decir, y tienen la siguiente relación: A {\displaystyle A} m × n {\displaystyle m\times n} B {\displaystyle B} p × q {\displaystyle p\times q} vec ( Kron ( A , B ) ) {\displaystyle \operatorname {vec} (\operatorname {Kron} (A,B))} Kron ( vec A , vec B ) {\displaystyle \operatorname {Kron} (\operatorname {vec} A,\operatorname {vec} B)}

    vec ( A B ) = ( I n K q m I p ) ( vec A vec B ) . {\displaystyle \operatorname {vec} (A\otimes B)=(I_{n}\otimes K_{qm}\otimes I_{p})(\operatorname {vec} A\otimes \operatorname {vec} B).}

    Además, la relación anterior se puede reorganizar en términos de o de la siguiente manera: vec A {\displaystyle \operatorname {vec} A} vec B {\displaystyle \operatorname {vec} B}

    vec ( A B ) = ( I n G ) vec A = ( H I p ) vec B , {\displaystyle \operatorname {vec} (A\otimes B)=(I_{n}\otimes G)\operatorname {vec} A=(H\otimes I_{p})\operatorname {vec} B,}

    dónde

    G = ( K q m I p ) ( I m vec B )  and  H = ( I n K q m ) ( vec A I q ) . {\displaystyle G=(K_{qm}\otimes I_{p})(I_{m}\otimes \operatorname {vec} B){\text{ and }}H=(I_{n}\otimes K_{qm})(\operatorname {vec} A\otimes I_{q}).}
  10. Producto exterior :
    Si y son vectores arbitrarios, entonces el producto externo entre y se define como . El producto de Kronecker está relacionado con el producto externo por: . x R n {\displaystyle x\in \mathbb {R} ^{n}} y R m {\displaystyle y\in \mathbb {R} ^{m}} x {\displaystyle x} y {\displaystyle y} x y T {\displaystyle xy^{T}} y x = vec ( x y T ) {\displaystyle y\otimes x=\operatorname {vec} (xy^{T})}

Propiedades abstractas

  1. Espectro :

    Supóngase que A y B son matrices cuadradas de tamaño n y m respectivamente. Sean λ 1 , ..., λ n los valores propios de A y μ 1 , ..., μ m los de B (enumerados según su multiplicidad ). Entonces los valores propios de AB son

    λ i μ j , i = 1 , , n , j = 1 , , m . {\displaystyle \lambda _{i}\mu _{j},\qquad i=1,\ldots ,n,\,j=1,\ldots ,m.}

    De ello se deduce que la traza y el determinante de un producto de Kronecker están dados por

    tr ( A B ) = tr A tr B and det ( A B ) = ( det A ) m ( det B ) n . {\displaystyle \operatorname {tr} (\mathbf {A} \otimes \mathbf {B} )=\operatorname {tr} \mathbf {A} \,\operatorname {tr} \mathbf {B} \quad {\text{and}}\quad \det(\mathbf {A} \otimes \mathbf {B} )=(\det \mathbf {A} )^{m}(\det \mathbf {B} )^{n}.}
  2. Valores singulares :

    Si A y B son matrices rectangulares, entonces se pueden considerar sus valores singulares . Supongamos que A tiene r A valores singulares distintos de cero, es decir

    σ A , i , i = 1 , , r A . {\displaystyle \sigma _{\mathbf {A} ,i},\qquad i=1,\ldots ,r_{\mathbf {A} }.}

    De manera similar, denotemos los valores singulares distintos de cero de B por

    σ B , i , i = 1 , , r B . {\displaystyle \sigma _{\mathbf {B} ,i},\qquad i=1,\ldots ,r_{\mathbf {B} }.}

    Entonces el producto de Kronecker AB tiene r A r B valores singulares distintos de cero, es decir

    σ A , i σ B , j , i = 1 , , r A , j = 1 , , r B . {\displaystyle \sigma _{\mathbf {A} ,i}\sigma _{\mathbf {B} ,j},\qquad i=1,\ldots ,r_{\mathbf {A} },\,j=1,\ldots ,r_{\mathbf {B} }.}

    Dado que el rango de una matriz es igual al número de valores singulares distintos de cero, encontramos que

    rank ( A B ) = rank A rank B . {\displaystyle \operatorname {rank} (\mathbf {A} \otimes \mathbf {B} )=\operatorname {rank} \mathbf {A} \,\operatorname {rank} \mathbf {B} .}
  3. Relación con el producto tensorial abstracto :

    El producto Kronecker de matrices corresponde al producto tensorial abstracto de aplicaciones lineales. Específicamente, si los espacios vectoriales V , W , X e Y tienen bases { v 1 , ..., v m }, { w 1 , ..., w n }, { x 1 , ..., x d } y { y 1 , ..., y e }, respectivamente, y si las matrices A y B representan las transformaciones lineales S  : VX y T  : WY , respectivamente en las bases apropiadas, entonces la matriz AB representa el producto tensorial de las dos aplicaciones, ST  : VWXY con respecto a la base { v 1w 1 , v 1w 2 , ..., v 2w 1 , ..., v mw n } de VW y la base definida de manera similar de XY con la propiedad de que AB ( v iw j ) = ( Av i ) ⊗ ( Bw j ) , donde i y j son números enteros en el rango apropiado. [11]

    Cuando V y W son álgebras de Lie , y S  : VV y T  : WW son homomorfismos de álgebras de Lie , la suma de Kronecker de A y B representa los homomorfismos de álgebras de Lie inducidos VWVW. [ cita requerida ]
  4. Relación con productos de gráficos :
    El producto de Kronecker de las matrices de adyacencia de dos grafos es la matriz de adyacencia del grafo producto tensorial . La suma de Kronecker de las matrices de adyacencia de dos grafos es la matriz de adyacencia del grafo producto cartesiano . [12]

Ecuaciones matriciales

El producto de Kronecker se puede utilizar para obtener una representación conveniente de algunas ecuaciones matriciales. Consideremos, por ejemplo, la ecuación AXB = C , donde A , B y C son matrices dadas y la matriz X es la incógnita. Podemos utilizar el "truco vec" para reescribir esta ecuación como

( B T A ) vec ( X ) = vec ( A X B ) = vec ( C ) . {\displaystyle \left(\mathbf {B} ^{\textsf {T}}\otimes \mathbf {A} \right)\,\operatorname {vec} (\mathbf {X} )=\operatorname {vec} (\mathbf {AXB} )=\operatorname {vec} (\mathbf {C} ).}

Aquí, vec( X ) denota la vectorización de la matriz X , formada al apilar las columnas de X en un solo vector columna .

De las propiedades del producto de Kronecker se deduce ahora que la ecuación AXB = C tiene una solución única, si y sólo si A y B son invertibles (Horn y Johnson 1991, Lema 4.3.1).

Si X y C están ordenados por filas en los vectores columna u y v , respectivamente, entonces (Jain 1989, 2.8 Matrices de bloques y productos de Kronecker)

v = ( A B T ) u . {\displaystyle \mathbf {v} =\left(\mathbf {A} \otimes \mathbf {B} ^{\textsf {T}}\right)\mathbf {u} .}

La razón es que

v = vec ( ( A X B ) T ) = vec ( B T X T A T ) = ( A B T ) vec ( X T ) = ( A B T ) u . {\displaystyle \mathbf {v} =\operatorname {vec} \left((\mathbf {AXB} )^{\textsf {T}}\right)=\operatorname {vec} \left(\mathbf {B} ^{\textsf {T}}\mathbf {X} ^{\textsf {T}}\mathbf {A} ^{\textsf {T}}\right)=\left(\mathbf {A} \otimes \mathbf {B} ^{\textsf {T}}\right)\operatorname {vec} \left(\mathbf {X^{\textsf {T}}} \right)=\left(\mathbf {A} \otimes \mathbf {B} ^{\textsf {T}}\right)\mathbf {u} .}

Aplicaciones

Para ver un ejemplo de la aplicación de esta fórmula, consulte el artículo sobre la ecuación de Lyapunov . Esta fórmula también resulta útil para demostrar que la distribución normal matricial es un caso especial de la distribución normal multivariante . Esta fórmula también es útil para representar operaciones de procesamiento de imágenes 2D en forma de matriz-vector.

Otro ejemplo es cuando una matriz puede factorizarse como un producto de Kronecker, entonces la multiplicación de matrices puede realizarse más rápido utilizando la fórmula anterior. Esto puede aplicarse de forma recursiva, como se hace en la FFT de base 2 y la transformada rápida de Walsh-Hadamard . Dividir una matriz conocida en el producto de Kronecker de dos matrices más pequeñas se conoce como el problema del "producto de Kronecker más cercano", y puede resolverse exactamente [13] utilizando la SVD . Dividir una matriz en el producto de Kronecker de más de dos matrices, de manera óptima, es un problema difícil y el tema de investigación en curso; algunos autores lo plantean como un problema de descomposición tensorial. [14] [15]

Junto con el método de mínimos cuadrados , el producto Kronecker se puede utilizar como una solución precisa al problema de calibración mano-ojo . [16]

Dos operaciones matriciales relacionadas son los productos de Tracy–Singh y Khatri–Rao , que operan sobre matrices particionadas . Sea la matriz A m × n particionada en los bloques A ij m i × n j y la matriz B p × q en los bloques B kl p k × q , con, por supuesto, Σ i m i = m , Σ j n j = n , Σ k p k = p y Σ q = q .

Producto de Tracy-Singh

El producto Tracy-Singh se define como [17] [18] [19]

A B = ( A i j B ) i j = ( ( A i j B k l ) k l ) i j {\displaystyle \mathbf {A} \circ \mathbf {B} =\left(\mathbf {A} _{ij}\circ \mathbf {B} \right)_{ij}=\left(\left(\mathbf {A} _{ij}\otimes \mathbf {B} _{kl}\right)_{kl}\right)_{ij}}

lo que significa que el ( ij )-ésimo subbloque del producto mp × nq A B {\displaystyle \circ } es la matriz m i p × n j q A ij B {\displaystyle \circ } , de la cual el ( kℓ )-ésimo subbloque es igual a la matriz m i p k × n j q A ijB kℓ . Esencialmente, el producto de Tracy-Singh es el producto Kronecker por pares para cada par de particiones en las dos matrices.

Por ejemplo, si A y B son matrices particionadas de 2 × 2 , por ejemplo:

A = [ A 11 A 12 A 21 A 22 ] = [ 1 2 3 4 5 6 7 8 9 ] , B = [ B 11 B 12 B 21 B 22 ] = [ 1 4 7 2 5 8 3 6 9 ] , {\displaystyle \mathbf {A} =\left[{\begin{array}{c | c}\mathbf {A} _{11}&\mathbf {A} _{12}\\\hline \mathbf {A} _{21}&\mathbf {A} _{22}\end{array}}\right]=\left[{\begin{array}{c c | c}1&2&3\\4&5&6\\\hline 7&8&9\end{array}}\right],\quad \mathbf {B} =\left[{\begin{array}{c | c}\mathbf {B} _{11}&\mathbf {B} _{12}\\\hline \mathbf {B} _{21}&\mathbf {B} _{22}\end{array}}\right]=\left[{\begin{array}{c | c c}1&4&7\\\hline 2&5&8\\3&6&9\end{array}}\right],}

obtenemos:

A B = [ A 11 B A 12 B A 21 B A 22 B ] = [ A 11 B 11 A 11 B 12 A 12 B 11 A 12 B 12 A 11 B 21 A 11 B 22 A 12 B 21 A 12 B 22 A 21 B 11 A 21 B 12 A 22 B 11 A 22 B 12 A 21 B 21 A 21 B 22 A 22 B 21 A 22 B 22 ] = [ 1 2 4 7 8 14 3 12 21 4 5 16 28 20 35 6 24 42 2 4 5 8 10 16 6 15 24 3 6 6 9 12 18 9 18 27 8 10 20 32 25 40 12 30 48 12 15 24 36 30 45 18 36 54 7 8 28 49 32 56 9 36 63 14 16 35 56 40 64 18 45 72 21 24 42 63 48 72 27 54 81 ] . {\displaystyle {\begin{aligned}\mathbf {A} \circ \mathbf {B} ={}&\left[{\begin{array}{c | c}\mathbf {A} _{11}\circ \mathbf {B} &\mathbf {A} _{12}\circ \mathbf {B} \\\hline \mathbf {A} _{21}\circ \mathbf {B} &\mathbf {A} _{22}\circ \mathbf {B} \end{array}}\right]\\={}&\left[{\begin{array}{c | c | c | c}\mathbf {A} _{11}\otimes \mathbf {B} _{11}&\mathbf {A} _{11}\otimes \mathbf {B} _{12}&\mathbf {A} _{12}\otimes \mathbf {B} _{11}&\mathbf {A} _{12}\otimes \mathbf {B} _{12}\\\hline \mathbf {A} _{11}\otimes \mathbf {B} _{21}&\mathbf {A} _{11}\otimes \mathbf {B} _{22}&\mathbf {A} _{12}\otimes \mathbf {B} _{21}&\mathbf {A} _{12}\otimes \mathbf {B} _{22}\\\hline \mathbf {A} _{21}\otimes \mathbf {B} _{11}&\mathbf {A} _{21}\otimes \mathbf {B} _{12}&\mathbf {A} _{22}\otimes \mathbf {B} _{11}&\mathbf {A} _{22}\otimes \mathbf {B} _{12}\\\hline \mathbf {A} _{21}\otimes \mathbf {B} _{21}&\mathbf {A} _{21}\otimes \mathbf {B} _{22}&\mathbf {A} _{22}\otimes \mathbf {B} _{21}&\mathbf {A} _{22}\otimes \mathbf {B} _{22}\end{array}}\right]\\={}&\left[{\begin{array}{c c | c c c c | c | c c}1&2&4&7&8&14&3&12&21\\4&5&16&28&20&35&6&24&42\\\hline 2&4&5&8&10&16&6&15&24\\3&6&6&9&12&18&9&18&27\\8&10&20&32&25&40&12&30&48\\12&15&24&36&30&45&18&36&54\\\hline 7&8&28&49&32&56&9&36&63\\\hline 14&16&35&56&40&64&18&45&72\\21&24&42&63&48&72&27&54&81\end{array}}\right].\end{aligned}}}

Producto Khatri-Rao

  • Bloque de producto Kronecker
  • Producto Khatri–Rao por columnas

Producto que parte caras

Propiedades de los productos mixtos [20]

A ( B C ) = ( A B ) C , {\displaystyle \mathbf {A} \otimes (\mathbf {B} \bullet \mathbf {C} )=(\mathbf {A} \otimes \mathbf {B} )\bullet \mathbf {C} ,}

donde denota el producto de división de caras . [21] [22] {\displaystyle \bullet }

( A B ) ( C D ) = ( A C ) ( B D ) , {\displaystyle (\mathbf {A} \bullet \mathbf {B} )(\mathbf {C} \otimes \mathbf {D} )=(\mathbf {A} \mathbf {C} )\bullet (\mathbf {B} \mathbf {D} ),}

De manera similar: [23]

( A L ) ( B M ) ( C S ) = ( A B C ) ( L M S ) , {\displaystyle (\mathbf {A} \bullet \mathbf {L} )(\mathbf {B} \otimes \mathbf {M} )\cdots (\mathbf {C} \otimes \mathbf {S} )=(\mathbf {A} \mathbf {B} \cdots \mathbf {C} )\bullet (\mathbf {L} \mathbf {M} \cdots \mathbf {S} ),}
c T d T = c T d T , {\displaystyle \mathbf {c} ^{\textsf {T}}\bullet \mathbf {d} ^{\textsf {T}}=\mathbf {c} ^{\textsf {T}}\otimes \mathbf {d} ^{\textsf {T}},}

donde y son vectores , [24] c {\displaystyle \mathbf {c} } d {\displaystyle \mathbf {d} }

( A B ) ( c d ) = ( A c ) ( B d ) , {\displaystyle (\mathbf {A} \bullet \mathbf {B} )(\mathbf {c} \otimes \mathbf {d} )=(\mathbf {A} \mathbf {c} )\circ (\mathbf {B} \mathbf {d} ),}

donde y son vectores , y denota el producto de Hadamard . c {\displaystyle \mathbf {c} } d {\displaystyle \mathbf {d} } {\displaystyle \circ }

Similarmente:

( A B ) ( M N c Q P d ) = ( A M N c ) ( B Q P d ) , {\displaystyle (\mathbf {A} \bullet \mathbf {B} )(\mathbf {M} \mathbf {N} \mathbf {c} \otimes \mathbf {Q} \mathbf {P} \mathbf {d} )=(\mathbf {A} \mathbf {M} \mathbf {N} \mathbf {c} )\circ (\mathbf {B} \mathbf {Q} \mathbf {P} \mathbf {d} ),}
F ( C ( 1 ) x C ( 2 ) y ) = ( F C ( 1 ) F C ( 2 ) ) ( x y ) = F C ( 1 ) x F C ( 2 ) y , {\displaystyle {\mathcal {F}}(C^{(1)}x\star C^{(2)}y)=({\mathcal {F}}C^{(1)}\bullet {\mathcal {F}}C^{(2)})(x\otimes y)={\mathcal {F}}C^{(1)}x\circ {\mathcal {F}}C^{(2)}y,}

donde es la convolución vectorial y es la matriz de transformada de Fourier (este resultado es una evolución de las propiedades del bosquejo de conteo [25] ), [21] [22] {\displaystyle \star } F {\displaystyle {\mathcal {F}}}

( A L ) ( B M ) ( C S ) ( K T ) = ( A B C K ) ( L M S T ) , {\displaystyle (\mathbf {A} \bullet \mathbf {L} )(\mathbf {B} \otimes \mathbf {M} )\cdots (\mathbf {C} \otimes \mathbf {S} )(\mathbf {K} \ast \mathbf {T} )=(\mathbf {A} \mathbf {B} \cdot \mathbf {C} \mathbf {K} )\circ (\mathbf {L} \mathbf {M} \cdots \mathbf {S} \mathbf {T} ),}

donde denota el producto Khatri–Rao por columnas . {\displaystyle \ast }

Similarmente:

( A L ) ( B M ) ( C S ) ( c d ) = ( A B C c ) ( L M S d ) , {\displaystyle (\mathbf {A} \bullet \mathbf {L} )(\mathbf {B} \otimes \mathbf {M} )\cdots (\mathbf {C} \otimes \mathbf {S} )(c\otimes d)=(\mathbf {A} \mathbf {B} \cdots \mathbf {C} \mathbf {c} )\circ (\mathbf {L} \mathbf {M} \cdots \mathbf {S} \mathbf {d} ),}
( A L ) ( B M ) ( C S ) ( P c Q d ) = ( A B C P c ) ( L M S Q d ) , {\displaystyle (\mathbf {A} \bullet \mathbf {L} )(\mathbf {B} \otimes \mathbf {M} )\cdots (\mathbf {C} \otimes \mathbf {S} )(\mathbf {P} \mathbf {c} \otimes \mathbf {Q} \mathbf {d} )=(\mathbf {A} \mathbf {B} \cdots \mathbf {C} \mathbf {P} \mathbf {c} )\circ (\mathbf {L} \mathbf {M} \cdots \mathbf {S} \mathbf {Q} \mathbf {d} ),}

donde y son vectores . c {\displaystyle \mathbf {c} } d {\displaystyle \mathbf {d} }

Véase también

Notas

  1. ^ Weisstein, Eric W. "Producto Kronecker". mathworld.wolfram.com . Consultado el 6 de septiembre de 2020 .
  2. ^ Zehfuss, G. (1858). "Ueber eine gewisse Determinante". Zeitschrift für Mathematik und Physik . 3 : 298–301.
  3. ^ Henderson, Harold V.; Pukelsheim, Friedrich; Searle, Shayle R. (1983). "Sobre la historia del producto Kronecker". Álgebra lineal y multilineal . 14 (2): 113–120. doi :10.1080/03081088308817548. hdl : 1813/32834 . ISSN  0308-1087.
  4. ^ Sayed, Ali H. (22 de diciembre de 2022). Inferencia y aprendizaje a partir de datos: fundamentos. Cambridge University Press. ISBN 978-1-009-21812-2.
  5. ^ Henderson, HV; Searle, SR (1980). "La matriz de permutación vec, el operador vec y los productos de Kronecker: una revisión" (PDF) . Álgebra lineal y multilineal . 9 (4): 271–288. doi :10.1080/03081088108817379. hdl : 1813/32747 .
  6. ^ Van Loan, Charles F. (2000). "El ubicuo producto Kronecker". Revista de Matemática Computacional y Aplicada . 123 (1–2): 85–100. Código Bibliográfico :2000JCoAM.123...85L. doi : 10.1016/s0377-0427(00)00393-9 .
  7. ^ abc Liu, Shuangzhe; Trenkler, Götz; Kollo, Tõnu; von Rosen, Dietrich; Baksalary, Oskar Maria (2023). "El profesor Heinz Neudecker y el cálculo diferencial matricial". Documentos estadísticos . doi :10.1007/s00362-023-01499-w.
  8. ^ Langville, Amy N. ; Stewart, William J. (1 de junio de 2004). "El producto de Kronecker y las redes de autómatas estocásticos". Revista de Matemática Computacional y Aplicada . 167 (2): 429–447. Bibcode :2004JCoAM.167..429L. doi : 10.1016/j.cam.2003.10.010 .
  9. ^ Macedo, Hugo Daniel; Oliveira, José Nuño (2013). "Escribiendo álgebra lineal: un enfoque orientado a biproductos". Ciencia de la programación informática . 78 (11): 2160–2191. arXiv : 1312.4818 . Código Bib : 2013arXiv1312.4818M. CiteSeerX 10.1.1.747.2083 . doi :10.1016/j.scico.2012.07.012. S2CID  9846072. 
  10. ^ Brewer, JW (1969). "Una nota sobre productos matriciales de Kronecker y sistemas de ecuaciones matriciales". Revista SIAM de Matemáticas Aplicadas . 17 (3): 603–606. doi :10.1137/0117057.
  11. ^ Dummit, David S.; Foote, Richard M. (1999). Álgebra abstracta (2.ª ed.). Nueva York: John Wiley and Sons. págs. 401–402. ISBN 978-0-471-36857-1.
  12. ^ Véase Knuth, DE "Pre-Fascicle 0a: Introduction to Combinatorial Algorithms" (impresión cero, revisión 2 ed.). respuesta al ejercicio 96. Archivado desde el original el 2019-05-13 . Consultado el 2007-10-24 ,para aparecer como parte de Knuth, DE El arte de la programación informática . Vol. 4A.
  13. ^ Van Loan, C.; Pitsianis, N. (1992). Aproximación con productos Kronecker . Ithaca, NY: Cornell University Press.
  14. ^ King Keung Wu; Yam, Yeung; Meng, Helen; Mesbahi, Mehran (2016). "Aproximación del producto de Kronecker con matrices de múltiples factores a través del algoritmo del producto tensorial". 2016 IEEE International Conference on Systems, Man, and Cybernetics (SMC) . págs. 004277–004282. doi :10.1109/SMC.2016.7844903. ISBN 978-1-5090-1897-0.S2CID30695585  .
  15. ^ Dantas, Cássio F.; Cohen, Jérémy E.; Gribonval, Rémi (2018). "Aprendizaje rápido de diccionarios para representaciones dispersas mediante descomposiciones tensoriales de bajo rango". Análisis de variables latentes y separación de señales (PDF) . Apuntes de clase en informática. Vol. 10891. págs. 456–466. doi :10.1007/978-3-319-93764-9_42. ISBN 978-3-319-93763-2. Número de identificación del sujeto  46963798.
  16. ^ Li, Algo; et al. (4 de septiembre de 2010). «Calibración simultánea entre el mundo robótico y la mano y el ojo mediante cuaterniones duales y el producto de Kronecker» (PDF) . Revista internacional de ciencias físicas . 5 (10): 1530–1536. S2CID  7446157. Archivado desde el original (PDF) el 9 de febrero de 2020.
  17. ^ Tracy, DS; Singh, RP (1972). "Un nuevo producto matricial y sus aplicaciones en la diferenciación matricial". Statistica Neerlandica . 26 (4): 143–157. doi :10.1111/j.1467-9574.1972.tb00199.x.
  18. ^ Liu, Shuangzhe (1999). "Resultados matriciales de los productos Khatri–Rao y Tracy–Singh". Álgebra lineal y sus aplicaciones . 289 (1–3): 267–277. doi : 10.1016/S0024-3795(98)10209-4 .
  19. ^ Liu, Shuangzhe; Trenkler, Götz (2008). "Hadamard, Khatri-Rao, Kronecker y otros productos matriciales". Revista Internacional de Ciencias de la Información y de Sistemas . 4 (1): 160–177.
  20. ^ Slyusar, VI (1998) [27 de diciembre de 1996]. "Productos finales en matrices en aplicaciones de radar" (PDF) . Radioelectrónica y sistemas de comunicaciones . 41 (3): 50–53.
  21. ^ ab Slyusar, Vadym (1999). "Nuevas operaciones matriciales para DSP" (conferencia autopublicada). doi :10.13140/RG.2.2.31620.76164/1 – vía ResearchGate . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  22. ^ ab Slyusar, VI (13 de marzo de 1998). "Una familia de productos faciales de matrices y sus propiedades" (PDF) . Análisis de sistemas y cibernética C/C de Kibernetika I Sistemnyi Analiz. 1999 . 35 (3): 379–384. doi :10.1007/BF02733426. S2CID  119661450.
  23. ^ Slyusar, VI (15 de septiembre de 1997). Nuevas operaciones de productos de matrices para aplicaciones de radares (PDF) . Problemas directos e inversos de la teoría de ondas electromagnéticas y acústicas (DIPED-97), Lviv. pp. 73–74.
  24. ^ Ahle, Thomas Dybdahl; Knudsen, Jakob Bæk Tejs (3 de septiembre de 2019). "Bosquejo tensorial casi óptimo". arXiv : 1909.01821 [cs.DS].
  25. ^ Ninh, Pham; Pagh, Rasmus (2013). Núcleos polinómicos rápidos y escalables a través de mapas de características explícitas . Conferencia internacional SIGKDD sobre descubrimiento de conocimiento y minería de datos. Association for Computing Machinery. CiteSeerX 10.1.1.718.2766 . doi :10.1145/2487575.2487591. 

Referencias

  • Horn, Roger A. ; Johnson, Charles R. (1991). Temas de análisis matricial. Cambridge University Press. ISBN 978-0-521-46713-1.
  • Jain, Anil K. (1989). Fundamentos del procesamiento de imágenes digitales. Prentice Hall. Bibcode :1989fdip.book.....J. ISBN 978-0-13-336165-0.
  • Steeb, Willi-Hans (1997). Cálculo matricial y producto de Kronecker con aplicaciones y programas en C++ . World Scientific Publishing. ISBN 978-981-02-3241-2.
  • Steeb, Willi-Hans (2006). Problemas y soluciones en cálculo matricial introductorio y avanzado. World Scientific Publishing. ISBN 978-981-256-916-5.
  • Liu, Shuangzhe; Trenkler, Götz (2008), "Hadamard, Khatri-Rao, Kronecker y otros productos matriciales", Revista internacional de ciencias de la información y sistemas , 4 : 160–177
  • "Producto tensorial", Enciclopedia de Matemáticas , EMS Press , 2001 [1994]
  • "Producto Kronecker". PlanetMath .
  • "Producto Kronecker". MathWorld .
  • "Nuevos problemas con los productos Kronecker" (PDF) .
  • "Usos más antiguos".La entrada sobre el producto Kronecker, Zehfuss o directo de matrices tiene información histórica.
  • Calcular el producto de Kronecker de dos matrices. SourceForge (código fuente genérico de C++ y Fortran 90). 27 de junio de 2015.
  • "Producto Kronecker". RosettaCode.org . 31 de diciembre de 2020 . Consultado el 13 de enero de 2021 .Fuente de software en más de 40 idiomas.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Kronecker_product&oldid=1244050448"