Javascript-программа для произведения Кронекера двух матриц

Опубликовано: 2 Сентября, 2022

Учитывая матрица А и матрица B, их произведение Кронекера C = A тензор B, также называемое прямым произведением их матриц, является матрица.

A tensor B =  |a11B   a12B|
              |a21B   a22B|

= |a11b11   a11b12   a12b11  a12b12|
  |a11b21   a11b22   a12b21  a12b22| 
  |a11b31   a11b32   a12b31  a12b32|
  |a21b11   a21b12   a22b11  a22b12|
  |a21b21   a21b22   a22b21  a22b22|
  |a21b31   a21b32   a22b31  a22b32|

Примеры:

1. The matrix direct(kronecker) product of the 2×2 matrix A 
   and the 2×2 matrix B is given by the 4×4 matrix :

Input : A = 1 2    B = 0 5
            3 4        6 7

Output : C = 0  5  0  10
             6  7  12 14
             0  15 0  20
             18 21 24 28

2. The matrix direct(kronecker) product of the 2×3 matrix A 
   and the 3×2 matrix B is given by the 6×6 matrix :

Input : A = 1 2    B = 0 5 2
            3 4        6 7 3
            1 0

Output : C = 0      5    2    0     10    4    
             6      7    3   12     14    6    
             0     15    6    0     20    8    
            18     21    9   24     28   12    
             0      5    2    0      0    0    
             6      7    3    0      0    0    

Ниже приведен код для нахождения произведения Кронекера двух матриц и сохранения его как матрицы C :

Выход :

0    5    2    0    10    4    
6    7    3    12   14    6    
0    15   6    0    20    8    
18   21   9    24   28    12    
0    5    2    0    0     0    
6    7    3    0    0     0

Временная сложность: O(rowa*rowb*cola*colb), так как мы используем вложенные циклы.

Вспомогательное пространство: O((rowa + colb)*(rowb + cola)), так как мы используем дополнительное пространство в матрице C.

Пожалуйста, обратитесь к полной статье о произведении Кронекера двух матриц для получения более подробной информации!