【发布时间】:2021-01-20 07:37:53
【问题描述】:
是否有基于“Numpy”的高效解决方案来创建 3(或更高)维对角矩阵?
更具体地说,我正在寻找一种更短(也许更有效)的解决方案来替换以下内容:
N = 100
M = 4
d = np.random.randn(N) # calculated in the real use case from other parameters
A = np.zeros(M, M, N, dtype=d.dtype)
for i in range(M):
A[i, i, :] = d
如果M 很大,上述解决方案会很慢,而且我认为内存效率不是很高,因为d 在内存中被复制了M 次。
【问题讨论】:
标签: python-3.x numpy numpy-ndarray