[Numpy-discussion] making two 2D real arrays into one complex array
Tue Apr 10 15:09:00 CDT 2007
> Hello List -
> Any reason why the following doesn't work?
>>>> x,y = meshgrid(linspace(-1,1,10),linspace(-1,1,10))
>>>> z = complex(x,y)
> Traceback (most recent call last):
> File "<pyshell#225>", line 1, in ?
> z = complex(x,y)
> TypeError: only length-1 arrays can be converted to Python scalars
> I know I can make an empty complex z array with the size of x, then
> set z.real equal to x and z.imag equal to y. But is there any reason
> why the above shouldn't work?
Yes. complex() is a builtin function for Python. It only takes Python ints and
floats. It knows nothing about numpy.
> It would be easy to implement in numpy,
> wouldn't it? If so, I would *really* like it.
I don't think there's much need for it to be provided in numpy. It's trivial
enough that you can define it yourself wherever you need it.
def complexarray(x, y):
return x + 1j*y
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Numpy-discussion