获得;对角线;python中四阶张量的输入
我有一个四阶张量a,形状是a*a*a*a。给定一个索引(i,j,k,l),我想用索引(i+c,j+d,k+c,l+d)得到a中的所有条目,其中c和d可以是正的,也可以是负的。请注意,如果(i,j,k,l)=(0,0,0,0),那么我只查找所有“对角线”条目(i,j,i,j)获得;对角线;python中四阶张量的输入,python,numpy,Python,Numpy,我有一个四阶张量a,形状是a*a*a*a。给定一个索引(i,j,k,l),我想用索引(i+c,j+d,k+c,l+d)得到a中的所有条目,其中c和d可以是正的,也可以是负的。请注意,如果(i,j,k,l)=(0,0,0,0),那么我只查找所有“对角线”条目(i,j,i,j) 除了编写嵌套for循环之外,最有效的方法是什么?我只需要一个向量就可以了。你能后退一步,用2d或3d阵列进行实验吗?为了清楚起见,显示那些嵌套的for循环。我们更愿意处理代码而不是文字问题!但是我怀疑你可以用np.arang
除了编写嵌套for循环之外,最有效的方法是什么?我只需要一个向量就可以了。你能后退一步,用2d或3d阵列进行实验吗?为了清楚起见,显示那些嵌套的for循环。我们更愿意处理代码而不是文字问题!但是我怀疑你可以用
np.arange(a)
等替换标量I
,j
等。如果你想从数组中得到a
值的向量,用a
长度数组的一些组合对其进行索引。更一般地说,您可以使用广播
的任何数组组合相互索引。