我正在尝试创建一个三维数组,Tusing numpy定义如下:
T_ {i,j,k} = \ delta_ {i,k} - \ delta {j,k}
其中\ delta_ {i,j}是Kronecker delta函数(当i = j时为1,否则为0)。我想知道使用numpy最有效的方法是什么。我可以使用for循环创建两个三维数组并减去它们。但我怀疑有一种更快速,更惯用的方法。任何帮助都将非常感激。
答案 0 :(得分:6)
numpy中等价于delta的eye
:
delta = numpy.eye(5)
T = delta[:,None,:] - delta[None,:,:]
None
创建一个用于numpy广播的