Problem with complex numbers
Matthias Götz
matthias.goetz.23 at googlemail.com
Sat Mar 22 17:37:45 EDT 2008
Hello python fans,
I have a small problem using python and complex math.
The pow(complex,complex) function in the windows python version doesn't have
the same semantic as the source version.
(I have downloaded :
-
Python 2.5.2 compressed source
tarball<http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz>(for
Unix or OS X compile)
- Python 2.5.2 Windows
installer<http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi>
)
If found in Complex.py:
def __pow__(self, n, z=None):
if z is not None:
raise TypeError, 'Complex does not support ternary pow()'
if IsComplex(n):
if n.im:
if self.im: raise TypeError, 'Complex to the Complex power'
else: return exp(math.log(self.re)*n)
n = n.re
r = pow(self.abs(), n)
phi = n*self.angle()
return Complex(math.cos(phi)*r, math.sin(phi)*r)
which mean for example if i calculate z1 power z2 (z1,z2 are complex
numbers),
and z1 and z2 has imaginary parts not equals zero,
i must get an TypeError. Is that right?
But i tried that in the IDLE python shell by doing this
>>> z1=complex(1,2)
>>> z2=complex(2,3)
>>> z1**z2
(-0.01513267242272265-0.1798674839133349j)
>>>
and this is everything unlike an TypeError.
So if somebody can help me, it would be nice. Thanks.
Matze
(Sorry for bad english, I'am german)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20080322/f434c902/attachment.html>
More information about the Python-list
mailing list