Complex number computing

>>> from math import sqrt
>>> sqrt(-1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error

>>> from numpy import sqrt
>>> sqrt(-1)
Warning: invalid value encountered in sqrt
nan

>>> from cmath import sqrt   # complex math functions
>>> sqrt(-1)
1j
>>> sqrt(4)   # cmath functions always return complex...
(2+0j)

>>> from numpy.lib.scimath import sqrt
>>> sqrt(4)
2.0                # real when possible
>>> sqrt(-1)
1j                 # otherwise complex

previousnexttable of contents