Ответ 1
Добавьте +0j
к вашим реальным входам, чтобы сделать их комплексными числами.
Numpy следует за изменением максимы "Мусор в мусоре".
Поплавок, поплавок.
>>> import numpy as np
>>> np.sqrt(-1)
__main__:1: RuntimeWarning: invalid value encountered in sqrt
nan
Комплекс, сложный.
>>> numpy.sqrt(-1+0j)
1j
>>> numpy.arctanh(24+0j)
(0.0416908044695255-1.5707963267948966j)