也许这是一个算法问题,但以下代码片段
numpy.power((-1+0j),0.5)
会产生以下输出结果:
(6.1230317691118863e-17+1j)
类比表达式,例如 numpy.power(complex(-1),.5)
会得到相同的结果,然而 numpy.sqrt(complex(-1))
得到了期望的结果 1j
。显然结果不应该有实部,所以我是否遗漏了关键点或者需要向 numpy 开发人员报告此问题。
如果有人问,我不能四舍五入去掉实部(我需要完整精度进行计算),而且我需要使用幂函数。
np.finfo(np.complex).eps == 2.2204460492503131e-16
。请问是否正确? - Katriel