python - 用转置向量计算向量
问题描述
我正在计算矩阵内散点图,其中我有一个 50x20 向量,而我发生的事情是将转置向量乘以原始向量,给我一个维度错误,如下所示:
操作数不能与形状一起广播 (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 with 中实现的逐列乘法np.dot
。
推荐阅读
- python - PIL 照片图像不显示在 Tkinter 上
- python - 将数据帧的最后一行与它上面的一行和它上面的另一行进行比较
- c# - 在 GCR 上获取当前服务帐户
- amazon-web-services - AWS EC2 用户数据,多个 PowerShell 命令不起作用
- node.js - 发送带有云消息firebase通知的图像不起作用
- wordpress - Woocommerce 搜索结果
- angular - Angular Http Interceptor - fromPromise 错误 - TypeError: (0 , x.fromPromise) 不是函数
- typescript - 如何将打字稿类型声明为“变量”以供重复使用?
- javascript - 使用 sort 和 reduce 功能对 Object 的对象进行排序
- java - 在sqlite android中存储布尔值