如何将某些多维数组的索引“分组”到较低维数组(较低秩张量)?

因此,如果我从第4个张量开始,例如$ T_ {ijkl} $。这是一个形状为=(U,V,W,X)的4维数组。现在,对于我的特定问题,我需要将第一个索引和第三个索引以及第二个索引和第四个索引组合在一起,以便我们得到一个二维数组或秩为2的张量。它看起来应该像$ T_ {ik}; {jl} $。什么是对这些索引进行分组的最快方法。是否有任何numpy函数?我想避免循环并构造新的数组。将来,我还需要拆分索引,因此如果您对此有任何帮助,也可以使用。

我已经通过仅创建一个具有不同大小和尺寸的新对象,然后将值填充到一个循环中将张量分解为更高等级的张量,但这不是很干净的代码,我想效率不高。

我将尝试给出一个示例,但并不想使其变得困难(太大以至于无法可视化),我将从矩阵(等级2)转到等级1。这意味着您将两个索引分组在一起

T = [[1,2,3],[3,4,5]
      [7,8,9]]

unkownfunction(T,index1,index2) = [0,1,3,5,6,7,9]

但是我希望能够对多维张量的索引进行分组,并且只需指定要分组的索引即可。

zyh810908 回答:如何将某些多维数组的索引“分组”到较低维数组(较低秩张量)?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3132221.html

大家都在问