gpt4 book ai didi

python - 在 numpy 中高效创建数组

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:58 25 4
gpt4 key购买 nike

我正在尝试创建一个三维数组,Tusing numpy 定义如下:

T_{i, j, k} =\delta_{i, k} -\delta{j, k}

其中\delta_{i, j} 是 Kronecker delta 函数(当 i=j 时为 1,否则为 0)。我想知道使用 numpy 执行此操作的最有效方法是什么。我可以使用 for 循环创建两个三维数组并将它们相减。但我怀疑有一种更快、更惯用的方法。任何帮助将不胜感激。

最佳答案

delta 相当于 numpy 中的eye:

delta = numpy.eye(5)
T = delta[:,None,:] - delta[None,:,:]

None 创建一个 ‹virtual› 维度(不占用任何额外内存)用于在 numpy 中进行广播。

关于python - 在 numpy 中高效创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42465879/

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