Iloczynem Kroneckera (iloczynem tensorowym) macierzy
i macierzy
nazywa się macierz o wymiarze
postaci
![{\displaystyle A\otimes B={\begin{bmatrix}a_{11}B&a_{12}B&\cdots \\a_{21}B&a_{22}B\\\vdots &&\ddots \end{bmatrix}}={\begin{bmatrix}a_{11}b_{11}&a_{11}b_{12}&\cdots &a_{12}b_{11}&a_{12}b_{12}&\cdots \\a_{11}b_{21}&a_{11}b_{22}&&a_{12}b_{21}&a_{12}b_{22}\\\vdots &&\ddots \\a_{21}b_{11}&a_{21}b_{12}\\a_{21}b_{21}&a_{21}b_{22}\\\vdots \end{bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b3c61fdcda632ab51995e4f8c9476aaba14411be)
W szczególności można mnożyć tensorowo dwa wektory kolumnowe, dwa wektory wierszowe oraz wektor kolumnowy i wierszowy (np. iloczyn diadyczny).
Z definicji wynika, że mnożone macierze
i
mogą być dowolnych rozmiarów. (Zwykły iloczyn macierzy jest bardziej restrykcyjny, gdyż liczba kolumn pierwszej macierzy musi być równa liczbie wierszy drugiej macierzy.)
Nazwa iloczynu pochodzi od Leopolda Kroneckera, chociaż już przed nim, w 1858 r., tę operację na macierzach opisał Johann Georg Zehfuss.
Z definicji iloczynu tensorowego wynika w szczególności, że iloczyny tensorowe wektorów mają różny wynik w zależności od rodzaju mnożonych wektorów.
(1) Iloczyn tensorowy wektorów kolumnowych daje wektor kolumnowy
![{\displaystyle v\otimes w={\begin{bmatrix}1\\0\end{bmatrix}}_{v}\otimes {\begin{bmatrix}1\\0\end{bmatrix}}_{w}={\begin{bmatrix}1\cdot {\begin{bmatrix}1\\0\end{bmatrix}}_{w}\\0\cdot {\begin{bmatrix}1\\0\end{bmatrix}}_{w}\end{bmatrix}}={\begin{bmatrix}1\\0\\0\\0\end{bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec2dd7be7b7d1fdca6bf41aec1a425557e21a349)
(2) Iloczyn tensorowy wektorów wierszowych daje wektor wierszowy
![{\displaystyle v\otimes w={\begin{bmatrix}1,0\end{bmatrix}}_{v}\otimes {\begin{bmatrix}1,0\end{bmatrix}}_{w}={\begin{bmatrix}1\cdot {\begin{bmatrix}1,0\end{bmatrix}}_{w},0\cdot {\begin{bmatrix}1,0\end{bmatrix}}_{w}\end{bmatrix}}={\begin{bmatrix}1,0,0,0\end{bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a3951dfb083c1eff97346311cb7ed2128a74cbed)
(3) Iloczyn tensorowy wektora kolumnowego przez wektor wierszowy daje macierz
![{\displaystyle v\otimes w={\begin{bmatrix}1\\0\end{bmatrix}}_{v}\otimes {\begin{bmatrix}1,0\end{bmatrix}}_{w}={\begin{bmatrix}1\cdot {\begin{bmatrix}1,0\end{bmatrix}}_{w}\\0\cdot {\begin{bmatrix}1,0\end{bmatrix}}_{w}\end{bmatrix}}={\begin{bmatrix}1,0\\0,0\end{bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/408ee5f7ebb1009e658bc42b8987b819e781d725)
(4) Iloczyn tensorowy wektora wierszowego przez wektor kolumnowy daje macierz
![{\displaystyle v\otimes w={\begin{bmatrix}1,0\end{bmatrix}}_{v}\otimes {\begin{bmatrix}\,\,\,\,1\\-1\end{bmatrix}}_{w}={\begin{bmatrix}1\cdot {\begin{bmatrix}\,\,\,\,1\\-1\end{bmatrix}}_{w},\,0\cdot {\begin{bmatrix}\,\,\,\,1\\-1\end{bmatrix}}_{w}\end{bmatrix}}={\begin{bmatrix}\,\,\,\,1,0\\-1,0\end{bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/02d71441ce4aee1cd4e786f8fbea0331d148ef92)
Iloczyn tensorowy dwóch macierzy daje macierz, np.
![{\displaystyle {\begin{bmatrix}1&2\\3&4\end{bmatrix}}\otimes {\begin{bmatrix}0&5\\6&7\end{bmatrix}}={\begin{bmatrix}1\cdot {\begin{bmatrix}0&5\\6&7\end{bmatrix}}&2\cdot {\begin{bmatrix}0&5\\6&7\end{bmatrix}}\\3\cdot {\begin{bmatrix}0&5\\6&7\end{bmatrix}}&4\cdot {\begin{bmatrix}0&5\\6&7\end{bmatrix}}\end{bmatrix}}={\begin{bmatrix}1\cdot 0&1\cdot 5&2\cdot 0&2\cdot 5\\1\cdot 6&1\cdot 7&2\cdot 6&2\cdot 7\\3\cdot 0&3\cdot 5&4\cdot 0&4\cdot 5\\3\cdot 6&3\cdot 7&4\cdot 6&4\cdot 7\end{bmatrix}}={\begin{bmatrix}0&5&0&10\\6&7&12&14\\0&15&0&20\\18&21&24&28\end{bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bff3bd02bf0243bd76605504c7073697ffea13ef)
Własności iloczynu tensorowego[edytuj | edytuj kod]
Iloczyn tensorowy macierzy jest zazwyczaj nieprzemienny, podobnie jak zwykły iloczyn macierzy, tj.
![{\displaystyle A\otimes B\neq B\otimes A.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e6f2964bd5142cdd537ab966add4bfc58d67fa30)
Mnożenie mieszane (tensorowo-zwykłe)[edytuj | edytuj kod]
Jeśli macierze
są takie, że zwykłe iloczyny macierzy
i
istnieją, to iloczyn zwykły dwóch iloczynów tensorowych jest równy iloczynowi tensorowemu odpowiednich iloczynów zwykłych macierzy, w ten sposób że:
![{\displaystyle (A\otimes B)\cdot (C\otimes D)=(A\cdot C)\otimes (B\cdot D).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/aaa58a8fe9ac69be2c71b39cf52c40f83f31d828)
Odwrotność iloczynu tensorowego[edytuj | edytuj kod]
Jeśli macierze
są odwracalne, to:
- odwracalna jest macierz
oraz
- odwrotność macierzy
jest równa iloczynowi tensorowemu odwrotności macierzy
przez odwrotność macierzy
tj.
![{\displaystyle (A\otimes B)^{-1}=A^{-1}\otimes B^{-1}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/685d47fc0f7bc9857062f955ccc09d9c6cae0b96)
Rozdzielność względem dodawania[edytuj | edytuj kod]
Zachodzi rozdzielność mnożenia tensorowego macierzy przez sumę macierzy
(przy czym zakłada się, że macierze
są tych samych wymiarów), tj.
![{\displaystyle A\otimes (B+C)=A\otimes B+A\otimes C,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/acf7d42ee9b882e504b22c72dbee9efef149995a)
![{\displaystyle (B+C)\otimes A=B\otimes A+C\otimes A.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/58f9d340356f721b669b6a43ce662b9ad636cc88)
Transpozycja iloczynu tensorowego[edytuj | edytuj kod]
Transpozycja iloczynu tensorowego macierzy jest równa iloczynowi tensorowemu transpozycji tych macierzy, tj.
![{\displaystyle (A\otimes B)^{T}=A^{T}\otimes B^{T}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f456ee0c2675fbaacafaaddfc9e5a5d90e477450)
Iloczyn tensorowy macierzy kwadratowych[edytuj | edytuj kod]
Jeśli macierze
są macierzami kwadratowymi wymiarów odpowiednio m i n, to
wyznacznik (det), rząd (rz) oraz ślad (tr) macierzy będącej iloczynem tensorowym wyrażają się przez iloczyny wyznaczników, śladów i rzędów mnożonych tensorowo macierzy
wg wzorów:
![{\displaystyle \det(A\otimes B)=(\det A)^{n}\cdot (\det B)^{m},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8871afdaa70e6620df43169d3c527f4ba1611f79)
![{\displaystyle tr(A\otimes B)=tr(A)\cdot tr(B),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/df51506003f55972a2028448031504544b8e4843)
![{\displaystyle rz(A\otimes B)=rz(A)\cdot rz(B).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a4dd58e3b2400ee69e45e7987b5e412e4d8f0adf)
Niech
oraz
są zbiorami wszystkich wartości własnych odpowiednio macierzy
oraz
Wtedy zbiór wszystkich wartości własnych iloczynu tensorowego
tworzą iloczyny wartości własnych
tj.
![{\displaystyle \{\lambda _{i}\mu _{j}|\quad i=1,\ldots ,m,\quad j=1,\ldots ,n\}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/598d82d1c83e7703fcd7fce303ccb04a3c2e0f0b)
Wzór ogólny na współczynniki macierzy
[edytuj | edytuj kod]
Niech
oraz
Wtedy współczynniki macierzy będącej iloczynem Kroneckera dane są wzorem
![{\displaystyle (A\otimes B)_{ij}=a_{((i-1)\ div\ k)+1,((j-1)\ div\ l)+1}\cdot b_{((i-1)\ mod\ k)+1,((j-1)\ mod\ l)+1},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/631582e7fe5e23f99cc9316c86d4f8c3a22db4f5)
gdzie div oznacza dzielenie całkowitoliczbowe.