gpt4 book ai didi

python - 计算任意维度数组的外积

转载 作者:太空狗 更新时间:2023-10-29 21:06:02 24 4
gpt4 key购买 nike

我有两个数组 A,B 并且想在它们的最后一个维度上取外积,例如结果[:,i,j]=A[:,i]*B[:,j]A,B 是二维的。

如果我不知道它们是 2 维还是 3 维,我该怎么做?

在我的具体问题中,A,B 是一个更大的 3 维数组 Z 的切片,有时这可能会用整数索引 A=Z[:,1,:], B=Z[:,2,:] 和其他时间调用带有切片 A=Z[:,1:3,:],B=Z[:,4:6,:]。由于 scipy“挤压”单例维度,我不知道我的输入是什么维度会的。

我试图定义的数组外积应该满足

array_outer_product( Y[a,b,:], Z[i,j,:] ) == scipy.outer( Y[a,b,:], Z[i,j,:] )
array_outer_product( Y[a:a+N,b,:], Z[i:i+N,j,:])[n,:,:] == scipy.outer( Y[a+n,b,:], Z[i+n,j,:] )
array_outer_product( Y[a:a+N,b:b+M,:], Z[i:i+N, j:j+M,:] )[n,m,:,:]==scipy.outer( Y[a+n,b+m,:] , Z[i+n,j+m,:] )

对于任何三阶数组 Y,Z 和整数 a,b,...i,j,k...n,N,...

我正在处理的问题涉及二维空间网格,每个网格点都有一个向量值函数。我希望能够在前两个轴上由切片定义的区域上计算这些向量的协方差矩阵(外积)。

最佳答案

关于python - 计算任意维度数组的外积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11620697/

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