Je-li
A
{\displaystyle {\boldsymbol {A}}}
matice typu
m
×
n
{\displaystyle m\times n}
a
B
{\displaystyle {\boldsymbol {B}}}
matice typu
p
×
r
{\displaystyle p\times r}
, pak Kroneckerův součin je definován jako matice
C
=
A
⊗
B
{\displaystyle {\boldsymbol {C}}={\boldsymbol {A}}\otimes {\boldsymbol {B}}}
typu
m
p
×
n
r
{\displaystyle mp\times nr}
ve tvaru:
C
=
(
a
i
,
j
⋅
B
)
=
(
a
1
,
1
B
⋯
a
1
,
n
B
⋮
⋱
⋮
a
m
,
1
B
⋯
a
m
,
n
B
)
{\displaystyle {\boldsymbol {C}}=(a_{i,j}\cdot {\boldsymbol {B}})={\begin{pmatrix}a_{1,1}{\boldsymbol {B}}&\cdots &a_{1,n}{\boldsymbol {B}}\\\vdots &\ddots &\vdots \\a_{m,1}{\boldsymbol {B}}&\cdots &a_{m,n}{\boldsymbol {B}}\end{pmatrix}}}
Jinak vyjádřeno:
A
⊗
B
=
(
a
1
,
1
b
1
,
1
a
1
,
1
b
1
,
2
⋯
a
1
,
1
b
1
,
r
⋯
⋯
a
1
,
n
b
1
,
1
a
1
,
n
b
1
,
2
⋯
a
1
,
n
b
1
,
r
a
1
,
1
b
2
,
1
a
1
,
1
b
2
,
2
⋯
a
1
,
1
b
2
,
r
⋯
⋯
a
1
,
n
b
2
,
1
a
1
,
n
b
2
,
2
⋯
a
1
,
n
b
2
,
r
⋮
⋮
⋱
⋮
⋮
⋮
⋱
⋮
a
1
,
1
b
p
,
1
a
1
,
1
b
p
,
2
⋯
a
1
,
1
b
p
,
r
⋯
⋯
a
1
,
n
b
p
,
1
a
1
,
n
b
p
,
2
⋯
a
1
,
n
b
p
,
r
⋮
⋮
⋮
⋱
⋮
⋮
⋮
⋮
⋮
⋮
⋱
⋮
⋮
⋮
a
m
,
1
b
1
,
1
a
m
,
1
b
1
,
2
⋯
a
m
,
1
b
1
,
r
⋯
⋯
a
m
,
n
b
1
,
1
a
m
,
n
b
1
,
2
⋯
a
m
,
n
b
1
,
r
a
m
,
1
b
2
,
1
a
m
,
1
b
2
,
2
⋯
a
m
,
1
b
2
,
r
⋯
⋯
a
m
,
n
b
2
,
1
a
m
,
n
b
2
,
2
⋯
a
m
,
n
b
2
,
r
⋮
⋮
⋱
⋮
⋮
⋮
⋱
⋮
a
m
,
1
b
p
,
1
a
m
,
1
b
p
,
2
⋯
a
m
,
1
b
p
,
r
⋯
⋯
a
m
,
n
b
p
,
1
a
m
,
n
b
p
,
2
⋯
a
m
,
n
b
p
,
r
)
{\displaystyle {{\boldsymbol {A}}\otimes {\boldsymbol {B}}}={\begin{pmatrix}a_{1,1}b_{1,1}&a_{1,1}b_{1,2}&\cdots &a_{1,1}b_{1,r}&\cdots &\cdots &a_{1,n}b_{1,1}&a_{1,n}b_{1,2}&\cdots &a_{1,n}b_{1,r}\\a_{1,1}b_{2,1}&a_{1,1}b_{2,2}&\cdots &a_{1,1}b_{2,r}&\cdots &\cdots &a_{1,n}b_{2,1}&a_{1,n}b_{2,2}&\cdots &a_{1,n}b_{2,r}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\ddots &\vdots \\a_{1,1}b_{p,1}&a_{1,1}b_{p,2}&\cdots &a_{1,1}b_{p,r}&\cdots &\cdots &a_{1,n}b_{p,1}&a_{1,n}b_{p,2}&\cdots &a_{1,n}b_{p,r}\\\vdots &\vdots &&\vdots &\ddots &&\vdots &\vdots &&\vdots \\\vdots &\vdots &&\vdots &&\ddots &\vdots &\vdots &&\vdots \\a_{m,1}b_{1,1}&a_{m,1}b_{1,2}&\cdots &a_{m,1}b_{1,r}&\cdots &\cdots &a_{m,n}b_{1,1}&a_{m,n}b_{1,2}&\cdots &a_{m,n}b_{1,r}\\a_{m,1}b_{2,1}&a_{m,1}b_{2,2}&\cdots &a_{m,1}b_{2,r}&\cdots &\cdots &a_{m,n}b_{2,1}&a_{m,n}b_{2,2}&\cdots &a_{m,n}b_{2,r}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\ddots &\vdots \\a_{m,1}b_{p,1}&a_{m,1}b_{p,2}&\cdots &a_{m,1}b_{p,r}&\cdots &\cdots &a_{m,n}b_{p,1}&a_{m,n}b_{p,2}&\cdots &a_{m,n}b_{p,r}\end{pmatrix}}}
(
1
2
3
4
5
6
)
⊗
(
7
8
9
0
)
=
(
1
⋅
(
7
8
9
0
)
2
⋅
(
7
8
9
0
)
3
⋅
(
7
8
9
0
)
4
⋅
(
7
8
9
0
)
5
⋅
(
7
8
9
0
)
6
⋅
(
7
8
9
0
)
)
=
(
7
8
14
16
9
0
18
0
21
24
28
32
27
0
36
0
35
40
42
48
45
0
54
0
)
{\displaystyle {\begin{pmatrix}1&2\\3&4\\5&6\end{pmatrix}}\otimes {\begin{pmatrix}7&8\\9&0\end{pmatrix}}={\begin{pmatrix}1\cdot {\begin{pmatrix}7&8\\9&0\end{pmatrix}}&2\cdot {\begin{pmatrix}7&8\\9&0\end{pmatrix}}\\\\3\cdot {\begin{pmatrix}7&8\\9&0\end{pmatrix}}&4\cdot {\begin{pmatrix}7&8\\9&0\end{pmatrix}}\\\\5\cdot {\begin{pmatrix}7&8\\9&0\end{pmatrix}}&6\cdot {\begin{pmatrix}7&8\\9&0\end{pmatrix}}\end{pmatrix}}={\begin{pmatrix}7&8&\!\!\!&14&16\\9&0&\!\!\!&18&0\\[0.6em]21&24&\!\!\!&28&32\\27&0&\!\!\!&36&0\\[0.6em]35&40&\!\!\!&42&48\\45&0&\!\!\!&54&0\end{pmatrix}}}
Kroneckerův součin není komutativní , to znamená, že existují matice
A
{\displaystyle {\boldsymbol {A}}}
a
B
{\displaystyle {\boldsymbol {B}}}
pro něž platí:
A
⊗
B
≠
B
⊗
A
{\displaystyle {\boldsymbol {A}}\otimes {\boldsymbol {B}}\neq {\boldsymbol {B}}\otimes {\boldsymbol {A}}}
například:
(
1
1
)
⊗
(
1
2
)
=
(
1
2
1
2
)
≠
(
1
1
2
2
)
=
(
1
2
)
⊗
(
1
1
)
{\displaystyle {\begin{pmatrix}1\\1\\\end{pmatrix}}\otimes {\begin{pmatrix}1\\2\end{pmatrix}}={\begin{pmatrix}1\\2\\1\\2\\\end{pmatrix}}\neq {\begin{pmatrix}1\\1\\2\\2\\\end{pmatrix}}={\begin{pmatrix}1\\2\end{pmatrix}}\otimes {\begin{pmatrix}1\\1\\\end{pmatrix}}}
V závislosti na typech matic
m
×
n
{\displaystyle m\times n}
a
p
×
r
{\displaystyle p\times r}
existují permutační matice
P
,
Q
{\displaystyle {\boldsymbol {P}},{\boldsymbol {Q}}}
takové, že
pro každé dvě matice
A
{\displaystyle {\boldsymbol {A}}}
typu
m
×
n
{\displaystyle m\times n}
a
B
{\displaystyle {\boldsymbol {B}}}
typu
p
×
r
{\displaystyle p\times r}
splňují vztah:
A
⊗
B
=
P
(
B
⊗
A
)
Q
{\displaystyle {\boldsymbol {A}}\otimes {\boldsymbol {B}}={\boldsymbol {P}}({\boldsymbol {B}}\otimes {\boldsymbol {A}}){\boldsymbol {Q}}}
Pro čtvercové matice
A
{\displaystyle {\boldsymbol {A}}}
a
B
{\displaystyle {\boldsymbol {B}}}
jsou tyto permutační matice navzájem transponované, čili
P
=
Q
T
{\displaystyle {\boldsymbol {P}}={\boldsymbol {Q}}^{\mathsf {T}}}
.
Kroneckerův součin je asociativní , neboli:
A
⊗
(
B
⊗
C
)
=
(
A
⊗
B
)
⊗
C
{\displaystyle {\boldsymbol {A}}\otimes ({\boldsymbol {B}}\otimes {\boldsymbol {C}})=({\boldsymbol {A}}\otimes {\boldsymbol {B}})\otimes {\boldsymbol {C}}}
Transpozice výsledné matice odpovídá Kroneckerovu součinu transponovaných vstupů:
(
A
⊗
B
)
T
=
A
T
⊗
B
T
{\displaystyle ({\boldsymbol {A}}\otimes {\boldsymbol {B}})^{\mathsf {T}}={\boldsymbol {A}}^{\mathsf {T}}\otimes {\boldsymbol {B}}^{\mathsf {T}}}
Podobně pro komplexně sdruženou matici a hermitovsky sdruženou matici platí
A
⊗
B
¯
=
A
¯
⊗
B
¯
{\displaystyle {\overline {{\boldsymbol {A}}\otimes {\boldsymbol {B}}}}={\overline {\boldsymbol {A}}}\otimes {\overline {\boldsymbol {B}}}}
a
(
A
⊗
B
)
H
=
A
H
⊗
B
H
{\displaystyle ({\boldsymbol {A}}\otimes {\boldsymbol {B}})^{\mathsf {H}}={\boldsymbol {A}}^{\mathsf {H}}\otimes {\boldsymbol {B}}^{\mathsf {H}}}
Kroneckerův součin je bilineární vzhledem k součtu :
A
⊗
(
B
+
C
)
=
A
⊗
B
+
A
⊗
C
{\displaystyle {\boldsymbol {A}}\otimes ({\boldsymbol {B}}+{\boldsymbol {C}})={\boldsymbol {A}}\otimes {\boldsymbol {B}}+{\boldsymbol {A}}\otimes {\boldsymbol {C}}}
,
(
B
+
C
)
⊗
A
=
B
⊗
A
+
C
⊗
A
{\displaystyle ({\boldsymbol {B}}+{\boldsymbol {C}})\otimes {\boldsymbol {A}}={\boldsymbol {B}}\otimes {\boldsymbol {A}}+{\boldsymbol {C}}\otimes {\boldsymbol {A}}}
a také
λ
(
A
⊗
B
)
=
(
λ
A
)
⊗
B
=
A
⊗
(
λ
B
)
{\displaystyle \lambda ({\boldsymbol {A}}\otimes {\boldsymbol {B}})=(\lambda {\boldsymbol {A}})\otimes {\boldsymbol {B}}={\boldsymbol {A}}\otimes (\lambda {\boldsymbol {B}})}
Jsou součiny
A
C
{\displaystyle {\boldsymbol {AC}}}
a
B
D
{\displaystyle {\boldsymbol {BD}}}
definovány, pak platí:
A
C
⊗
B
D
=
(
A
⊗
B
)
(
C
⊗
D
)
{\displaystyle {\boldsymbol {AC}}\otimes {\boldsymbol {BD}}=({\boldsymbol {A}}\otimes {\boldsymbol {B}})({\boldsymbol {C}}\otimes {\boldsymbol {D}})}
Pro stopu čtvercových matic
A
{\displaystyle {\boldsymbol {A}}}
a
B
{\displaystyle {\boldsymbol {B}}}
platí:
tr
(
A
⊗
B
)
=
tr
A
⋅
tr
B
{\displaystyle \operatorname {tr} ({\boldsymbol {A}}\otimes {\boldsymbol {B}})=\operatorname {tr} {\boldsymbol {A}}\cdot \operatorname {tr} {\boldsymbol {B}}}
Pro hodnost platí:
rank
(
A
⊗
B
)
=
rank
A
⋅
rank
B
{\displaystyle \operatorname {rank} ({\boldsymbol {A}}\otimes {\boldsymbol {B}})=\operatorname {rank} {\boldsymbol {A}}\cdot \operatorname {rank} {\boldsymbol {B}}}
Jsou-li
A
{\displaystyle {\boldsymbol {A}}}
a
B
{\displaystyle {\boldsymbol {B}}}
čtvercová matice řádů
n
{\displaystyle n}
, resp.
m
{\displaystyle m}
, pak pro determinant platí:
det
(
A
⊗
B
)
=
(
det
A
)
m
(
det
B
)
n
det
n
(
B
)
{\displaystyle \det({\boldsymbol {A}}\otimes {\boldsymbol {B}})=(\det {\boldsymbol {A}})^{m}(\det {\boldsymbol {B}})^{n}\,{\det }^{n}(B)}
Jsou
λ
1
,
…
,
λ
n
{\displaystyle \lambda _{1},\dots ,\lambda _{n}}
vlastní čísla matice
A
{\displaystyle {\boldsymbol {A}}}
a
μ
1
,
…
,
μ
m
{\displaystyle \mu _{1},\dots ,\mu _{m}}
vlastních čísla matice
B
{\displaystyle {\boldsymbol {B}}}
, pak
λ
i
μ
j
:
i
∈
{
1
,
…
,
n
}
,
j
∈
{
1
,
…
,
m
}
{\displaystyle \lambda _{i}\mu _{j}\colon i\in \{1,\dots ,n\},j\in \{1,\dots ,m\}}
jsou vlastní čísla součinu
A
⊗
B
{\displaystyle {\boldsymbol {A}}\otimes {\boldsymbol {B}}}
.
V důsledku pro spektrální normu platí:
‖
A
⊗
B
‖
2
=
‖
A
‖
2
⋅
‖
B
‖
2
{\displaystyle \|{\boldsymbol {A}}\otimes {\boldsymbol {B}}\|_{2}=\|{\boldsymbol {A}}\|_{2}\cdot \|{\boldsymbol {B}}\|_{2}}
Jsou-li matice
A
,
B
{\displaystyle {\boldsymbol {A}},{\boldsymbol {B}}}
regulární , pak součin
A
⊗
B
{\displaystyle {\boldsymbol {A}}\otimes {\boldsymbol {B}}}
je také regulární s inverzní maticí :
(
A
⊗
B
)
−
1
=
A
−
1
⊗
B
−
1
{\displaystyle ({\boldsymbol {A}}\otimes {\boldsymbol {B}})^{-1}={\boldsymbol {A}}^{-1}\otimes {\boldsymbol {B}}^{-1}}
Analogicky pro Mooreova-Penrosova inverze platí:
(
A
⊗
B
)
+
=
A
+
⊗
B
+
{\displaystyle ({\boldsymbol {A}}\otimes {\boldsymbol {B}})^{+}={\boldsymbol {A}}^{+}\otimes {\boldsymbol {B}}^{+}}
Dokonce platí i obecnější vztah, že jsou-li
A
−
{\displaystyle {\boldsymbol {A}}^{-}}
a
B
−
{\displaystyle {\boldsymbol {B}}^{-}}
zobecněné inverzní matice k
A
{\displaystyle {\boldsymbol {A}}}
a
B
{\displaystyle {\boldsymbol {B}}}
, potom matice
A
−
⊗
B
−
{\displaystyle {\boldsymbol {A}}^{-}\otimes {\boldsymbol {B}}^{-}}
je zobecněná inverzní matice k součinu
A
⊗
B
{\displaystyle {\boldsymbol {A}}\otimes {\boldsymbol {B}}}
.
Kroneckerův součin lze použít k získání vhodné reprezentace některých maticových rovnic. Rovnici
A
X
B
=
C
{\displaystyle {\boldsymbol {AXB}}={\boldsymbol {C}}}
, kde
A
{\displaystyle {\boldsymbol {A}}}
,
B
{\displaystyle {\boldsymbol {B}}}
a
C
{\displaystyle {\boldsymbol {C}}}
jsou dané maticemi a matice
X
{\displaystyle {\boldsymbol {X}}}
je neznámá, lze přepsat do tvaru
(
B
T
⊗
A
)
vec
(
X
)
=
vec
(
A
X
B
)
=
vec
(
C
)
{\displaystyle \left({\boldsymbol {B}}^{\textsf {T}}\otimes {\boldsymbol {A}}\right)\,\operatorname {vec} ({\boldsymbol {X}})=\operatorname {vec} ({\boldsymbol {AXB}})=\operatorname {vec} ({\boldsymbol {C}})}
kde symbol
vec
M
{\displaystyle \operatorname {vec} {\boldsymbol {M}}}
značí vektorizaci matice
M
{\displaystyle {\boldsymbol {M}}}
, vytvořené naskládáním sloupců
M
{\displaystyle {\boldsymbol {M}}}
do jednoho sloupcového vektoru.
Jsou-li totiž matice
X
{\displaystyle {\boldsymbol {X}}}
a
C
{\displaystyle {\boldsymbol {C}}}
přerovnány podle řádků do sloupcových vektorů
u
{\displaystyle {\boldsymbol {u}}}
a
v
{\displaystyle {\boldsymbol {v}}}
, pak platí:
v
=
vec
(
(
A
X
B
)
T
)
=
vec
(
B
T
X
T
A
T
)
=
(
A
⊗
B
T
)
vec
(
X
T
)
=
(
A
⊗
B
T
)
u
{\displaystyle {\boldsymbol {v}}=\operatorname {vec} \left(({\boldsymbol {AXB}})^{\textsf {T}}\right)=\operatorname {vec} \left({\boldsymbol {B}}^{\textsf {T}}{\boldsymbol {X}}^{\textsf {T}}{\boldsymbol {A}}^{\textsf {T}}\right)=\left({\boldsymbol {A}}\otimes {\boldsymbol {B}}^{\textsf {T}}\right)\operatorname {vec} \left({\boldsymbol {X^{\textsf {T}}}}\right)=\left({\boldsymbol {A}}\otimes {\boldsymbol {B}}^{\textsf {T}}\right){\boldsymbol {u}}}
Rovnice
A
X
B
=
C
{\displaystyle {\boldsymbol {AXB}}={\boldsymbol {C}}}
má jedinečné řešení, právě když
A
{\displaystyle {\boldsymbol {A}}}
a
B
{\displaystyle {\boldsymbol {B}}}
jsou regulární.
Uvedený výpočet lze s výhodou použít pro matice speciálních vlastností. Pro matice
A
{\displaystyle {\boldsymbol {A}}}
a
B
{\displaystyle {\boldsymbol {B}}}
řádu
n
{\displaystyle n}
, vyžaduje již sestavení matice
B
T
⊗
A
{\displaystyle {\boldsymbol {{\boldsymbol {B}}^{\textsf {T}}\otimes {\boldsymbol {A}}}}}
celkem
Ω
(
n
4
)
{\displaystyle \Omega (n^{4})}
aritmetických operací , zatímco přímočarý výpočet
X
=
A
−
1
C
B
−
1
{\displaystyle {\boldsymbol {X}}={\boldsymbol {A}}^{-1}{\boldsymbol {C}}{\boldsymbol {B}}^{-1}}
jen
O
(
n
3
)
{\displaystyle O(n^{3})}
aritmetických operací.
Příklad použití tohoto vzorce je uveden v článku o Ljapunovově rovnici (en) . Vzorec lze využít v případě, kdy maticové normální rozdělení je speciální případ vícerozměrného normálního rozdělení nebo pro reprezentaci operací zpracování 2D obrazu ve formě maticového vektoru.
Pokud je možné danou matici rozložit na Kroneckerův součin menších matic, pak její součin s jinými maticemi lze provést rychleji pomocí výše uvedeného vzorce. U Radix-2 rychlé Fourierovy transformace (FFT} a rychlé Walsh-Hadamardovy transformace lze tento postup použít rekurentně. Problém rozkladu dané matice na Kroneckerův součin dvou menších matic je známý jako problém „nejbližšího Kroneckerova součinu“ a lze jej vyřešit pomocí singulárního rozkladu (SVD) . Optimálním způsobem rozdělit matici na Kroneckerův součin více než dvou matic je obtížným problémem a předmětem pokračujícího výzkumu.[ 1] [ 2]
Kroneckerův součin je pojmenován po německém matematikovi Leopoldu Kroneckerovi (1823–1891), i když existuje jen málo důkazů o tom, že by jej definoval a používal jako první. Kroneckerův součin byl také nazýván Zehfussovou maticí a Zehfussovým součinem podle Georga Zehfusse (de) , který jej popsal roku 1858. [ 3] [ 4] Špatné přisouzení Kroneckerovi spíše než Zehfussovi bylo způsobeno Kurtem Henselem. [ 5]
V tomto článku byly použity překlady textů z článků Kronecker-Produkt na německé Wikipedii a Kronecker product na anglické Wikipedii.
↑ KING KEUNG WU; YAM, Yeung; MENG, Helen. Kronecker product approximation with multiple factor matrices via the tensor product algorithm. In: [s.l.]: IEEE, 2016-10. Dostupné online . ISBN 978-1-5090-1897-0 . DOI 10.1109/SMC.2016.7844903 . S. 004277–004282.
↑ DANTAS, Cássio F.; COHEN, Jérémy E.; GRIBONVAL, Rémi. Learning Fast Dictionaries for Sparse Representations Using Low-Rank Tensor Decompositions . Příprava vydání Yannick Deville, Sharon Gannot, Russell Mason, Mark D. Plumbley, Dominic Ward. Svazek 10891. Cham: Springer International Publishing Dostupné online . ISBN 978-3-319-93763-2 , ISBN 978-3-319-93764-9 . DOI 10.1007/978-3-319-93764-9_42 . S. 456–466. DOI: 10.1007/978-3-319-93764-9_42.
↑
ZEHFUSS, G. Ueber eine gewisse Determinante. Zeitschrift für Mathematik und Physik . 1858, s. 298–301. Dostupné online . Je zde použita šablona {{Cite journal }}
označená jako k „pouze dočasnému použití“.
↑ HENDERSON, Harold V.; PUKELSHEIM, Friedrich; SEARLE, Shayle R. On the history of the kronecker product. Linear and Multilinear Algebra . 1983-10, roč. 14, čís. 2, s. 113–120. Dostupné online [cit. 2025-01-02]. ISSN 0308-1087 . DOI 10.1080/03081088308817548 . (anglicky)
↑ SAYED, Ali H. Inference and learning from data . Cambridge: Cambridge university press ISBN 978-1-009-21812-2 , ISBN 978-1-009-21826-9 .