根据 Wolfram Alpha 和Sage 计算机代数系统,以下恒等式成立:
但是,当我尝试用 NumPy 中的任意示例验证它时,我注意到同一性两边计算的实际值存在相当大的差异。我使用了以下代码:
l1 = 10; l2 = 8; d = 17
from numpy import arctan2, cos, sin, sqrt
alpha = arctan2((l1-l2),d)
left = cos(alpha)
right = sqrt(1 + ((l1-l2)**2)/(d**2))
评估结果left
并right
得出以下结果:
left = 0.99315060432287616
right = 1.0
很容易将其简单地视为一个数值错误,但由于我对数值错误会产生多大的经验很少,所以我不太确定。这是可能的还是我错过了什么(很明显)?