Numpy:n个向量的外积

2024-03-29 08:58:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用纽比做一些简单的事情,我相信应该有一个简单的方法来做。在

基本上,我有一个不同长度的n向量列表。如果v1[i]是第一个向量的第i条目的话,我想找到一个n维数组,这样

A[i,j,k...] = v1[i] v2[j] v3[k] ...

我的问题是:

  1. outer只接受两个向量参数。

  2. einsum需要类似“abcd…”的参数,这似乎是不必要的。

  3. kron需要看起来相当复杂的重塑,并且只接受两个参数。

我希望尽可能避免复杂性,以避免引入bug。所以我最好只需要一个命令。在

到目前为止,我最满意的是:

^{pr2}$

Tags: 方法列表参数条目v3数组事情向量
2条回答

还有另一行代码:

reduce(np.multiply.outer, vs)

它比np.ix_(*vs)构造更透明,并且支持多维数组,如this question。在

在公差范围内定时相同:

^{pr2}$

使用以下一行代码:

reduce(np.multiply, np.ix_(*vs))

np.ix_()将执行外部广播,您需要reduce,但是您可以在不使用lambda函数的情况下传递ufuncnp.multiply。在

以下是比较:

^{pr2}$

再利用:

True

相关问题 更多 >