[Python-ideas] math module and complex numbers

Oleg Broytmann phd at phd.pp.ru
Wed Mar 11 14:31:30 CET 2009

On Wed, Mar 11, 2009 at 02:12:10PM +0100, Sturla Molden wrote:
> Greg Falcon wrote:
>>>>> import cmath
>>>>> cmath.sqrt(-1)
>> 1j
> What is the point of having two math modules? It just adds confusion,  
> like pickle and cPickle.

   'c' in 'cmath' stands for 'complex'. There is a difference between
float and complex math. See http://docs.python.org/library/math.html :
   "These functions cannot be used with complex numbers; use the functions
of the same name from the cmath module if you require support for complex
numbers. The distinction between functions which support complex numbers
and those which don't is made since most users do not want to learn quite
as much mathematics as required to understand complex numbers. Receiving an
exception instead of a complex result allows earlier detection"

     Oleg Broytmann            http://phd.pp.ru/            phd at phd.pp.ru
           Programmers don't die, they just GOSUB without RETURN.

More information about the Python-ideas mailing list