【发布时间】:2019-11-29 06:57:45
【问题描述】:
给定一个 2x2 矩阵 r = np.array([[1, 0], [0, 0]], dtype=complex),我如何创建一个块矩阵,以便我得到 N r 作为它的条目,以便我得到
np.array([r, r,..., r, r])
有没有像np.something(r, 5) 这样的np.array([r, r, r, r, r])?
【问题讨论】:
-
该数组的形状为
(n,2,2)。那是你要的吗?r[None,:,:].repeat(n,0)将创建一个该形状的新数组,r在新的第一个轴上重复n次。 -
是的,这正是我想要的。在所有 6 种方法中(其中 2 种和链接帖子中的 4 种),您的实际上是大
n中最快的 :) 如果您将您的评论作为官方解决方案发布,那么我会很乐意接受它。 -
糟糕,实际上 @Divakar 的
np.broadcast_to(r,(n,)+r.shape)更快,如果n是 100000 则不会减慢速度。我仍然会接受你的回答:)))
标签: python numpy multidimensional-array