Возможно, это алгоритмическая проблема, но следующий фрагмент кода
numpy.power((-1+0j),0.5)
выводит следующий вывод
(6.1230317691118863e-17+1j)
Аналогичные выражения, например. numpy.power(complex(-1),.5)
дает тот же результат, однако - numpy.sqrt(complex(-1))
дает ожидаемый результат 1j
. Очевидно, что результат не должен иметь никакой реальной роли, поэтому мне не хватает чего-то важного или мне нужно сообщить об этом в numpy dev.
В случае, если кто-нибудь спросит, нет, я не могу округлить реальную часть (мне нужна полная точность для этого вычисления), и да, мне нужно использовать функцию мощности.