使用其转置向量计算向量

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.

实现的逐列乘法