New submission from João Bernardo <jbv...@gmail.com>: With Python 3, the ** operator is supposed to do math with complex numbers, but look what is happening:
Python 3.2 (r32:88445, Feb 20 2011, 21:30:00) [MSC v.1500 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> (-1)**.5 (6.123233995736766e-17+1j) >>> import cmath >>> cmath.sqrt(-1) 1j >>> pow(-1, .5) (6.123233995736766e-17+1j) >>> (-4)**.5 (1.2246467991473532e-16+2j) >>> I also tried with Python 3.1.2 in my 32-bit Ubuntu 10.10 installation and got the same results. The error seems to be in the floating point (double) representation limit of 16 decimal places. ---------- components: None messages: 131951 nosy: JBernardo priority: normal severity: normal status: open title: complex sqrt error type: behavior versions: Python 3.1, Python 3.2 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11658> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com