Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 点乘矩阵列表,单位为numpy_Python_Numpy_Linear Algebra_Numpy Ndarray_Numpy Einsum - Fatal编程技术网

Python 点乘矩阵列表,单位为numpy

Python 点乘矩阵列表,单位为numpy,python,numpy,linear-algebra,numpy-ndarray,numpy-einsum,Python,Numpy,Linear Algebra,Numpy Ndarray,Numpy Einsum,让我们生成一个“三个2x2矩阵列表”,我称之为M1、M2和M3: import numpy as np arr = np.arange(4*2*2).reshape((3, 2, 2)) 我想取所有这些矩阵的点积: A = M1 @ M2 @ M3 最简单最快的方法是什么?我基本上是在寻找类似于“.sum(axis=0)”的东西,但用于矩阵乘法。您可能在寻找: 将为您提供介于arr[0]、arr[1]和arr[2]之间的点积。正如arr[0]@arr[1]@arr[2]谢谢!正是我所寻找的

让我们生成一个“三个2x2矩阵列表”,我称之为M1、M2和M3:

import numpy as np
arr = np.arange(4*2*2).reshape((3, 2, 2))
我想取所有这些矩阵的点积:

 A = M1 @ M2 @ M3

最简单最快的方法是什么?我基本上是在寻找类似于“.sum(axis=0)”的东西,但用于矩阵乘法。

您可能在寻找:


将为您提供介于
arr[0]
arr[1]
arr[2]
之间的点积。正如
arr[0]@arr[1]@arr[2]

谢谢!正是我所寻找的。对于3个数组
multi_dot
使用
np.linalg.linalg.\u multi_dot\u three
哪个数组做
点(点(A,B),C,out=out)
(如果形状不同,则使用另一个分组)。因此,如果数组都是相同的形状,
多点
是链式的
(或
@
)。
arr = np.arange(3*2*2).reshape((-1, 2, 2))
np.linalg.multi_dot(arr)