python两个列表向量积_python – Numpy:n个向量的外积

我试图在numpy中做一些简单的事情,我确信应该有一个简单的方法.

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

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

我的问题是:

> outer只接受两个向量参数.

> einsum需要一个像“abcd ……”这样的参数,这似乎是不必要的.

> kron需要看似相当复杂的重塑,并且只需要两个参数.

我想避免尽可能多的复杂性,以避免引入错误.所以我最好是一个命令.

到目前为止,我所掌握的最好的是:

vs = [v1, v2, v3 ...]

shape = map(len, vs)

# specify the orientation of each vector

newshapes = diag(array(shape)-1)+1

reshaped = [x.reshape(y) for x,y in zip(vs, newshapes)]

# direct product

A = reduce(lambda a,b: a*b, reshaped, 1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值