Aga*_*'lo 2 python numpy matrix python-2.7
我需要将不同形状的矩阵,M和N与有限大小的MxN相乘.
我想一个例子会更清楚:
A(形状:4x4)=
0 3 0 0
0 0 4 0
0 0 0 3
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
B(形状:7x7)=
3 0 0 0 0 0 0
0 2 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 -1 0 0
0 0 0 0 0 -2 0
0 0 0 0 0 0 -3
Run Code Online (Sandbox Code Playgroud)
结果,我想要一个形状矩阵(4*7 x 4*7),这意味着(28 x 28)如下:
0 3*B 0 0
0 0 4*B 0
0 0 0 3*B
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
其中B仍然是我们的形状矩阵(7x7),0代表一个全零的块(7x7).
也许有一个numpy功能可以做到这一点......但我找不到它.
(仅供参考,适用于量子力学)
您正在寻找Kronecker产品np.kron,它可以方便地制作像这样的块矩阵:
>>> A = np.array([[1, 2], [0, 1]])
>>> B = np.array([[1, 2, 3], [0, 1, 3], [0,0,0]])
>>> np.kron(A,B)
array([[1, 2, 3, 2, 4, 6],
[0, 1, 3, 0, 2, 6],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 2, 3],
[0, 0, 0, 0, 1, 3],
[0, 0, 0, 0, 0, 0]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |