Переменная aa, тип numpy.float (64) имеет следующее значение:
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)
Кто-нибудь получил представление о том, из-за чего возникает эта двусмысленность, и как я могу получить первый результат, не вводя число в?