Prodotto Kronecker
In matematica , il prodotto Kronecker è un'operazione sulle matrici . Questo è un caso speciale del prodotto tensore . È così chiamato in omaggio al matematico tedesco Leopold Kronecker .
Definizione formale
Lasciare Sia A una matrice di dimensione m x n e B una matrice di dimensione p x q . Il loro prodotto tensoriale è la matrice A ⊗ B di dimensione mp per nq , definita da blocchi successivi di dimensione p x q , il blocco di indice i , j essendo uguale a i , j B
In altre parole
A⊗B=(a11B⋯a1nonB⋮⋱⋮am1B⋯amnonB){\ displaystyle A \ otimes B = {\ begin {pmatrix} a_ {11} B & \ cdots & a_ {1n} B \\\ vdots & \ ddots & \ vdots \\ a_ {m1} B & \ cdots & a_ {mn} B \ end {pmatrix}}}Oppure, specificando i coefficienti,
A⊗B=(a11b11a11b12⋯a11b1q⋯⋯a1nonb11a1nonb12⋯a1nonb1qa11b21a11b22⋯a11b2q⋯⋯a1nonb21a1nonb22⋯a1nonb2q⋮⋮⋱⋮⋮⋮⋱⋮a11bp1a11bp2⋯a11bpq⋯⋯a1nonbp1a1nonbp2⋯a1nonbpq⋮⋮⋮⋱⋮⋮⋮⋮⋮⋮⋱⋮⋮⋮am1b11am1b12⋯am1b1q⋯⋯amnonb11amnonb12⋯amnonb1qam1b21am1b22⋯am1b2q⋯⋯amnonb21amnonb22⋯amnonb2q⋮⋮⋱⋮⋮⋮⋱⋮am1bp1am1bp2⋯am1bpq⋯⋯amnonbp1amnonbp2⋯amnonbpq){\ displaystyle A \ otimes B = {\ begin {pmatrix} 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 & \ ddots & \ vdots \\ 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} \\\ vdots & \ vdots && \ vdots & \ ddots && \ vdots & \ vdots && \ vdots \\\ vdots & \ vdots && \ vdots && \ ddots & \ vdots & \ vdots && \ vdots \\ 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 & \ 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 {pmatrix}}}Esempio
Come mostrato nell'esempio seguente, il prodotto di Kronecker di due matrici consiste nel copiare più volte la seconda matrice, moltiplicandola per il coefficiente corrispondente a un termine della prima matrice.
(132100122)⊗(055011)=(1⋅(055011)3⋅(055011)2⋅(055011)1⋅(055011)0⋅(055011)0⋅(055011)1⋅(055011)2⋅(055011)2⋅(055011))=(05015010501501001133220500005000001100000501001050100100112222){\ displaystyle {\ begin {pmatrix} 1 & 3 & 2 \\ 1 & 0 & 0 \\ 1 & 2 & 2 \ end {pmatrix}} \ otimes {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix}} = {\ begin {pmatrix} 1 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix}} & 3 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix}} & 2 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix}} \\ 1 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix}} & 0 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix}} & 0 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix}} \\ 1 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \ \ 1 & 1 \ end {pmatrix}} & 2 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix} } & 2 \ cdot {\ begin {pmatrix} 0 & 5 \\ 5 & 0 \\ 1 & 1 \ end {pmatrix}} \ end {pmatrix}} = {\ begin {pmatrix} 0 & 5 & 0 & 15 & 0 & 10 \\ 5 & 0 & 15 & 0 & 10 & 0 \\ 1 & 1 & 3 & 3 & 2 & 2 \\ 0 & 5 & 0 & 0 & 0 & 0 \\ 5 & 0 & 0 & 0 & 0 & 0 & 0 & 10 \\ 5 & 0 & 15 & 0 & 10 & 0 \\ 1 & 1 & 3 & 3 & 2 & 2 \\ 0 & 5 & 0 & 0 & 0 & 0 \ \ 5 & 0 & 0 & 0 & 0 & 0 & 0 & 10 \\ 5 & 0 & 15 & 0 & 10 & 0 \\ 1 & 1 & 3 & 3 & 2 & 2 \\ 0 & 5 & 0 & 0 & 0 & 0 \\ 5 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 5 & 0 & 0 & \} & 0 & 1 & 0 & 2 & 0 & 2 & 0 & 2 & 0 & 2 & 10 & 0 & 2 & 0 & 2 & 10 & 0 & 0 & 2 & 0 & 2 & 10 & 0 & 2 & 0 & 2 & 10 & 0 & 0 & 2 & 10 & 0 & 2 & 0 & 0 & 0 & 2 & 10 & 0 & 0 & 2
Proprietà
Bilinearità, associatività
Il prodotto di Kronecker è bilineare e associativo: fatta salva la compatibilità dimensionale per A , B e C , abbiamo le seguenti equazioni:
A⊗(B+λ ⋅VS)=(A⊗B)+λ(A⊗VS){\ displaystyle A \ otimes (B + \ lambda \ \ cdot C) = (A \ otimes B) + \ lambda (A \ otimes C)}(A+λ ⋅B)⊗VS=(A⊗VS)+λ(B⊗VS){\ displaystyle (A + \ lambda \ \ cdot B) \ otimes C = (A \ otimes C) + \ lambda (B \ otimes C)}A⊗(B⊗VS)=(A⊗B)⊗VS{\ displaystyle A \ otimes (B \ otimes C) = (A \ otimes B) \ otimes C}Il prodotto di Kronecker non è commutativo; tuttavia per tutti A e B esistono due matrici di permutazione P e Q tali che A ⊗ B = P ( B ⊗ A ) Q
Se inoltre A e B hanno la stessa dimensione, allora A ⊗ B e B ⊗ A sono equivalenti per permutazione su i vettori di base:
A⊗B=P-1(B⊗A)P=tP(B⊗A)P{\ displaystyle A \ otimes B = P ^ {- 1} (B \ otimes A) P = {} ^ {t} \! P (B \ otimes A) P}dove P è una matrice di permutazione.
Proprietà sul prodotto abituale
La seguente proprietà mescola gli aspetti relativi al prodotto a matrice usuale e al prodotto Kronecker quando le dimensioni delle matrici sono tali da poter formare i prodotti AC e BD :
(A⊗B)(VS⊗D)=(AVS)⊗(BD){\ displaystyle (A \ otimes B) (C \ otimes D) = (AC) \ otimes (BD)}Possiamo dedurre che A ⊗ B è invertibile se e solo se A e B sono invertibili, nel qual caso:
(A⊗B)-1=A-1⊗B-1{\ displaystyle (A \ otimes B) ^ {- 1} = A ^ {- 1} \ otimes B ^ {- 1}}Spettro
Usando la proprietà precedente si deduce che se X e Y sono autovettori di A e B : e , allora:
AX=λ X{\ displaystyle AX = \ lambda \ X}BY=μ Y{\ displaystyle BY = \ mu \ Y}
(A⊗B)(X⊗Y)=λμ(X⊗Y){\ displaystyle (A \ otimes B) (X \ otimes Y) = \ lambda \ mu (X \ otimes Y)}Quindi se e sono gli autovalori di A e B , allora sono gli autovalori di A ⊗ B , contando la molteplicità.
λ1,...,λnon{\ displaystyle \ lambda _ {1}, ..., \ lambda _ {n}}μ1,...,μm{\ displaystyle \ mu _ {1}, ..., \ mu _ {m}}{λio⋅μj,io=1 ...non,j=1 ...m}{\ Displaystyle \ lbrace \ lambda _ {i} \ cdot \ mu _ {j}, i = 1 ... n, j = 1 ... m \ rbrace}
In particolare :
Tr(A⊗B)=Tr(A)Tr(B){\ Displaystyle \ operatorname {Tr} (A \ otimes B) = \ operatorname {Tr} (A) \ operatorname {Tr} (B)}det(A⊗B)=det(A)mdet(B)non{\ Displaystyle \ operatorname {det} (A \ otimes B) = \ operatorname {det} (A) ^ {m} \ operatorname {det} (B) ^ {n}}
rg(A⊗B)=rg(A)rg(B){\ Displaystyle \ operatorname {rg} (A \ otimes B) = \ operatorname {rg} (A) \ operatorname {rg} (B)}
dove Tr denota la traccia , det il determinante e rg il rango della matrice.
Trasposizione
Abbiamo la seguente proprietà sulla trasposizione :
t(A⊗B)=tA⊗tB{\ displaystyle {} ^ {t} \! (A \ otimes B) = {} ^ {t} \! A \ otimes {} ^ {t} \! B}Link esterno
(it) Eric W. Weisstein , " Kronecker Product " , su MathWorld
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">