C++程序 矩阵的Kronecker积
给定一个 mimesn矩阵 A 和一个pimesq矩阵 B,它们的 Kornecker 积 C=A tensor B,也被称为它们的矩阵直积,是一个(mp)imes(nq)矩阵。
示例:
1. 2×2矩阵A
与2×2矩阵B的矩阵直积(Kronecker积)为4×4矩阵 :
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×3矩阵A
与3×2矩阵B的矩阵直积(Kronecker积)为6×6矩阵 :
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
下面是找到两个矩阵的 Kronecker积 并将其存储为矩阵C的代码:
输出:
时间复杂度: O(rowa*cola*rowb*colb)
, 因为我们使用嵌套循环。
辅助空间: O(rowa*cola*rowb*colb)
, 因为我们在矩阵C中使用额外的空间。