类型为numpy.float(64)的变量aa具有以下值:
In: aa
Out: -0.11077542882130173
采用此数字的三阶根会产生歧义:
直接键入会产生正确的结果
In: -0.11077542882130173**(1/3)
Out: -0.4802652307616457
采用aa的第三个根将直接生成警告并返回nan:
In: aa**(1/3)
__main__:1: RuntimeWarning: invalid value encountered in double_scalars
Out: nan
转换为浮点数会生成一个复数:
aa = float(aa)
In: aa
Out: -0.11077542882130173
In: aa**(1/3)
Out: (0.2401326153808229+0.41592189039398075j)
任何人都知道这种歧义是由何处产生的,以及如何在不输入数字的情况下获得第一个结果?