math module and complex numbers

import math math.sqrt(-1)
Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> math.sqrt(-1) ValueError: math domain error I'd say math.sqrt(-1) should return 1j. Sturla Molden

On Wed, Mar 11, 2009 at 02:12:10PM +0100, Sturla Molden wrote:
'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. -- Oleg Broytmann http://phd.pp.ru/ phd@phd.pp.ru Programmers don't die, they just GOSUB without RETURN.

On Wed, Mar 11, 2009 at 02:12:10PM +0100, Sturla Molden wrote:
'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. -- Oleg Broytmann http://phd.pp.ru/ phd@phd.pp.ru Programmers don't die, they just GOSUB without RETURN.
participants (4)
-
Greg Falcon
-
Mark Dickinson
-
Oleg Broytmann
-
Sturla Molden