在我的领域中,将一些数字平方,将它们一起运算,然后取结果的平方根是很常见的。例如,这是在勾股定理和 RMS 计算中完成的。
在numpy中,我做了以下事情:
result = numpy.sqrt(numpy.sum(numpy.pow(some_vector, 2)))
在纯 python 中会出现这样的情况:
result = math.sqrt(math.pow(A, 2) + math.pow(B,2)) # example with two dimensions.
但是,我一直在使用这种纯 python 形式,因为我发现它更紧凑、独立于导入并且看似等效:
result = (A**2 + B**2)**0.5 # two dimensions
result = (A**2 + B**2 + C**2 + D**2)**0.5
我听说有些人争辩说,**
运算符有点像黑客,通过取幂来平方数字0.5
不太可读。但我想问的是:
“是否有任何计算理由更喜欢前两种选择而不是第三种选择?”
谢谢阅读!