使用其转置向量计算向量
Calculating a vectors with its transposed vector
我正在计算矩阵内散点,其中我有一个 50x20 向量,我遇到的事情是将转置向量乘以原始向量,给我一个尺寸误差,说明如下:
operands could not be broadcast together with shapes (50,20) (20,50)
我尝试的是:array = my_array * my_array_transposed
并得到上述错误。
备选方案是:
new_array = np.dot(my_array, np.transpose(my_array))
例如,在 Octave 中,这会容易得多,但由于向量的大小,如果这是进行以下计算的方法,我很难确认基本事实:
因为据我所知,乘法是否是元素明智的。
我的问题是,我应用该公式的方式是否正确?如果不是,将转置向量乘以非转置向量的正确方法是什么?
是的,np.dot
公式是正确的。如果你写 array = my_array * my_array_transposed
你要求 Python 执行分量乘法。相反,您需要在 numpy 中使用 np.dot
.
实现的逐列乘法
我正在计算矩阵内散点,其中我有一个 50x20 向量,我遇到的事情是将转置向量乘以原始向量,给我一个尺寸误差,说明如下:
operands could not be broadcast together with shapes (50,20) (20,50)
我尝试的是:array = my_array * my_array_transposed
并得到上述错误。
备选方案是:
new_array = np.dot(my_array, np.transpose(my_array))
例如,在 Octave 中,这会容易得多,但由于向量的大小,如果这是进行以下计算的方法,我很难确认基本事实:
因为据我所知,乘法是否是元素明智的。
我的问题是,我应用该公式的方式是否正确?如果不是,将转置向量乘以非转置向量的正确方法是什么?
是的,np.dot
公式是正确的。如果你写 array = my_array * my_array_transposed
你要求 Python 执行分量乘法。相反,您需要在 numpy 中使用 np.dot
.