[NumPy-Tickets] [NumPy] #2032: cross doesn't broadcast correctly
NumPy Trac
numpy-tickets@scipy....
Fri Jan 27 15:30:24 CST 2012
#2032: cross doesn't broadcast correctly
--------------------+-------------------------------------------------------
Reporter: irving | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone: Unscheduled
Component: Other | Version: 1.6.1
Keywords: |
--------------------+-------------------------------------------------------
Comment(by irving):
Trying again with better formatting:
{{{
def cross(u,v):
# The numpy version doesn't always broadcast correctly, so we roll our
own cross product routine.
# Unfortunately, it's impossible to make 1D/2D cross products work
correctly together with
# broadcasting, so stick to 3D for now.
assert u.shape[-1]==v.shape[-1]==3
uv = empty(broadcast(u,v).shape)
u0,u1,u2 = u[...,0],u[...,1],u[...,2]
v0,v1,v2 = v[...,0],v[...,1],v[...,2]
uv[...,0] = u1*v2-u2*v1
uv[...,1] = u2*v0-u0*v2
uv[...,2] = u0*v1-u1*v0
return uv
}}}
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/2032#comment:2>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list