python中numpy dot_python-多维数组上的numpy np.dot()

这是一个简单的问题,但是我对所涉及的大小感到困惑.

使用NumPy,我有一个3维数组,形状=(10,100,100).

(我认为它是由10个“矩阵”组成的np.ndarray,每个矩阵的形状为100 x 100,即

arr1 = [M1 M2 M3....M10]

其中M1.shape =(100,100),M2.shape =(100,100),…

我还有第二个数据数组,称为“ arrB”,它是arrB.shaped(100,).我的目标是使用这些numpy数组进行矩阵乘法,即(arrB.T)* arr1 *(arrB),从而得到一个整数.使用numpy数组,此操作应使用np.dot()完成

op1 = np.dot(arr1, arrB)

op2 = np.dot((arrB.T), op1)

要么

endproduct = np.dot((arrB.T), np.dot(arr1, arrB) )

但是,这不起作用.我收到一个错误:

ValueError: shapes (100,) and (10,100) not aligned: 100 (dim 0) != 10 (dim 0)

如果我一次对一个“矩阵” M#进行操作,则可以执行此操作,即

element1 = arr1[0]

end = np.dot((arrB.T), np.dot(element1, arrB) )

在不拼接原始数组,执行操作并再次追加的情况下,如何在原始数组arr1上执行这些操作以导致

result = [(arrB.T)*arr1[0]*(arrB) (arrB.T)*arr1[1]*(arrB) (arrB.T)*arr1[2]*(arrB) ...

....(arrB.T)*arr1[9]*(arrB) ]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值