Dans les exemples ci-dessous, A
et B
seront des matrices 2 par 2, et les matrices sont à un index.
Un produit Kronecker a les propriétés suivantes:
A⊗B = A(1,1)*B A(1,2)*B
A(2,1)*B A(2,2)*B
= A(1,1)*B(1,1) A(1,1)*B(1,2) A(1,2)*B(1,1) A(1,2)*B(1,2)
A(1,1)*B(2,1) A(1,1)*B(2,2) A(1,2)*B(2,1) A(1,2)*B(2,2)
A(2,1)*B(1,1) A(2,1)*B(1,2) A(2,2)*B(1,1) A(2,2)*B(1,2)
A(2,2)*B(2,1) A(2,2)*B(1,2) A(2,2)*B(2,1) A(2,2)*B(2,2)
Une somme Kronecker a les propriétés suivantes:
A⊕B = A⊗Ib + Ia⊗B
Ia
et Ib
sont les matrices d'identité avec les dimensions de A
et B
respectivement. A
et B
sont des matrices carrées. Notez que A
et B
peuvent être de tailles différentes.
A⊕B = A(1,1)+B(1,1) B(1,2) A(1,2) 0
B(2,1) A(1,1)+B(2,2) 0 A(1,2)
A(2,1) 0 A(2,2)+B(1,1) B(1,2)
0 A(2,1) B(2,1) A(2,2)+B(2,2)
Étant donné deux matrices carrées, A
et B
, calculer la somme de Kronecker des deux matrices.
- La taille des matrices sera au moins
2-by-2
. La taille maximale sera ce que votre ordinateur / langage peut gérer par défaut, mais une5-by-5
entrée minimale (sortie de 5 Mo). - Toutes les valeurs d'entrée seront des entiers non négatifs
- Les fonctions intégrées qui calculent la somme Kronecker ou les produits Kronecker ne sont pas autorisées
- En général: règles standard concernant le format d'E / S, le programme et les fonctions, les failles, etc.
Cas de test:
A =
1 2
3 4
B =
5 10
7 9
A⊕B =
6 10 2 0
7 10 0 2
3 0 9 10
0 3 7 13
----
A =
28 83 96
5 70 4
10 32 44
B =
39 19 65
77 49 71
80 45 76
A⊕B =
67 19 65 83 0 0 96 0 0
77 77 71 0 83 0 0 96 0
80 45 104 0 0 83 0 0 96
5 0 0 109 19 65 4 0 0
0 5 0 77 119 71 0 4 0
0 0 5 80 45 146 0 0 4
10 0 0 32 0 0 83 19 65
0 10 0 0 32 0 77 93 71
0 0 10 0 0 32 80 45 120
----
A =
76 57 54
76 8 78
39 6 94
B =
59 92
55 29
A⊕B =
135 92 57 0 54 0
55 105 0 57 0 54
76 0 67 92 78 0
0 76 55 37 0 78
39 0 6 0 153 92
0 39 0 6 55 123