这个问题在这里已有答案:
请参考以下内容:
Constructing a special matrix in numpy dynamically
有没有办法以类似的方式实际创建矩阵,其中对角线值本身就是矩阵 . 例如:
[A 0 0 0]
[0 A 0 0]
[0 0 A 0]
[0 0 0 A]
其中A是例如:
[1 1]
[1 1]
0是一个类似的大小矩阵,所以
[0 0]
[0 0]
也许,使用链接中的答案中介绍的方法 . 即 np.diag(Matrix*s,0)
.
假设我也希望有一些与之前相同大小的其他矩阵,但是这个矩阵会像_947450一样在上面和下面运行对角线,如下所示:
[A B 0 0]
[B A B 0]
[0 B A B]
[0 0 B A]
1 回答
就个人而言,我认为@Divakar的建议是最好的,将
numpy.kron
与numpy.eye
结合使用 . 关键是使用np.eye(N, M=N, k)
,其中k
指定单位矩阵的对角线 . 使用k = 0
作为标准标识,但对于非对角线术语,请使用k = +/- 1
. 例如:产量