[Numpy-discussion] array multiplication with different dtypes
Jan Strube
curiousjan@gmail....
Sun Mar 25 04:03:17 CDT 2007
I'm having a difficult time understanding the following behavior:
import numpy as N
# create a new array 4 rows, 3 columns
x = N.random.random((4, 3))
# elementwise multiplication
x*x
newtype = N.dtype([('x', N.float64), ('y', N.float64), ('z', N.float64)])
# interpret the array as an array of cartesian coordinates
x.dtype = newtype
x*x
--> TypeError: unsupported operand type(s) for *: 'numpy.ndarray' and '
numpy.ndarray'
N.__version__
'1.0.2.dev3498'
So just by assigning names to the columns, I can't multiply the arrays any
more?
Numpy itself still claims that x is an ndarray.
I hope this is a bug, because it would be really convenient if this still
worked after assigning names to columns.
What I really wanted to do was N.dot(x, x.T) to get the length of the
cartesian vectors, but (I think) this fails for the same reason.
Please tell me this is a bug ;-)
Cheers,
Jan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20070325/d65f6c99/attachment.html
More information about the Numpy-discussion
mailing list