You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两向量求和后与两原向量夹角不相等的原因求解

问题原因

  • 核心是你对向量和的几何性质认知有误:只有当两个待相加的向量L2范数(模长)相等时,它们的和向量才会处于两个原向量的角平分线上,与二者的夹角相等。
  • 你当前代码中对u1、u2做的是L1归一化(除以向量元素和sum(u)),不是L2归一化,归一化后的u1_norm、u2_norm的L2范数并不相等,因此二者相加的和向量自然不会平分夹角,两个角度存在差异是正常现象。
  • 你使用的两种计算方法得到的结果差异极小(仅10^-16量级),属于正常的浮点运算舍入误差,两种方法的计算结果本身是一致的,不存在问题。

验证方法

你可以将归一化逻辑修改为L2归一化,即可得到两个几乎相等的夹角:

# 把原来的归一化代码替换为下面的内容
u1_norm = u1 / norm(u1) # 除以L2范数,而非元素和
u2_norm = u2 / norm(u2)

修改后重新运行,你会发现angle1和angle2的差值会缩小到舍入误差量级,符合角平分线的预期。

内容的提问来源于stack exchange,提问作者jobusch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:18:03