cmath --- Mathematical functions for complex numbers — Constants

The mathematical constant π, as a float.

The mathematical constant e, as a float.

The mathematical constant τ, as a float.

Floating-point positive infinity. Equivalent to float('inf').

Complex number with zero real part and positive infinity imaginary part. Equivalent to complex(0.0, float('inf')).

A floating-point "not a number" (NaN) value. Equivalent to float('nan'). See also math.nan.

Complex number with zero real part and NaN imaginary part. Equivalent to complex(0.0, float('nan')).

Note that the selection of functions is similar, but not identical, to that in module math. The reason for having two modules is that some users aren't interested in complex numbers, and perhaps don't even know what they are. They would rather have math.sqrt(-1) raise an exception than return a complex number. Also note that the functions defined in !cmath always return a complex number, even if the answer can be expressed as a real number (in which case the complex number has an imaginary part of zero).

A note on branch cuts: They are curves along which the given function fails to be continuous. They are a necessary feature of many complex functions. It is assumed that if you need to compute with complex functions, you will understand about branch cuts. Consult almost any (not too elementary) book on complex variables for enlightenment. For information of the proper choice of branch cuts for numerical purposes, a good reference should be the following

Kahan, W: Branch cuts for complex elementary functions; or, Much ado about nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the art in numerical analysis. Clarendon Press (1987) pp165--211.