Powiązane , ale bardzo różne.
W poniższych przykładach A
i B
nie większy niż 2-by-2 matryc oraz matryc są jednym indeksowane.
Kronecker produkt ma następujące właściwości:
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)
Wyzwanie: Biorąc pod uwagę dwie matryce A
i B
, wróć A⊗B
.
- Rozmiar matryc będzie co najmniej
1-by-1
. Maksymalny rozmiar będzie taki, jaki domyślnie obsługuje Twój komputer / język, ale minimalne5-by-5
dane wejściowe. - Wszystkie wartości wejściowe będą liczbami całkowitymi nieujemnymi
- Wbudowane funkcje do obliczania produktów Kronecker lub produktów Tensor / Outer są niedozwolone
- Ogólnie: Standardowe zasady dotyczące formatu I / O, programu i funkcji, luk itp.
Przypadki testowe:
A =
1 2
3 4
B =
5 6
7 8
A⊗B =
5 6 10 12
7 8 14 16
15 18 20 24
21 24 28 32
B⊗A =
5 10 6 12
15 20 18 24
7 14 8 16
21 28 24 32
------------------------
A =
1
2
B =
1 2
A⊗B =
1 2
2 4
------------------------
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
B =
1 1
0 1
A⊗B =
16 16 2 2 3 3 13 13
0 16 0 2 0 3 0 13
5 5 11 11 10 10 8 8
0 5 0 11 0 10 0 8
9 9 7 7 6 6 12 12
0 9 0 7 0 6 0 12
4 4 14 14 15 15 1 1
0 4 0 14 0 15 0 1
B⊗A =
16 2 3 13 16 2 3 13
5 11 10 8 5 11 10 8
9 7 6 12 9 7 6 12
4 14 15 1 4 14 15 1
0 0 0 0 16 2 3 13
0 0 0 0 5 11 10 8
0 0 0 0 9 7 6 12
0 0 0 0 4 14 15 1
------------------------
A = 2
B = 5
A⊗B = 10