gpt4 book ai didi

python - 按 block 乘以矩阵

转载 作者:行者123 更新时间:2023-11-28 21:46:29 25 4
gpt4 key购买 nike

我需要将不同形状的矩阵 M 和 N 与有限大小的 MxN 相乘。

我想举个例子会更清楚:

A(形状:4x4)=

0  3  0  0  
0 0 4 0
0 0 0 3
0 0 0 0

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

因此,我想要一个形状为 (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

其中 B 仍然是我们的形状矩阵 (7x7),而 0 代表一个全零测量 (7x7) 的 block 。

也许 numpy 有一个函数可以做到这一点......但我找不到它。

(仅供引用,这是针对量子力学的)

最佳答案

您正在寻找 Kronecker 产品,np.kron , 这样可以方便地制作 block 矩阵:

>>> 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]])

关于python - 按 block 乘以矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37870148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com