[Numpy-discussion] cross product of two 3xn arrays
gruben at bigpond.net.au
Thu Feb 16 01:00:04 CST 2006
Have you tested this? It appears to give the wrong answer on my system.
I expect to get from this
In : a=array([[,,],[,,],[,,]])
In : b=array([[,,],[,,],[,,]])
i.e. the same as my example but with column vectors instead of rows, but
doing cross(a,b,axisa=0,axisb=0,axisc=0) gives
Travis Oliphant wrote:
> Ian Harrison wrote:
>> I have two groups of 3x1 arrays that are arranged into two larger 3xn
>> arrays. Each of the 3x1 sub-arrays represents a vector in 3D space. In
>> Matlab, I'd use the function cross() to calculate the cross product of
>> the corresponding 'vectors' from each array. In other words:
> Help on function cross in module numpy.core.numeric:
> cross(a, b, axisa=-1, axisb=-1, axisc=-1)
> Return the cross product of two (arrays of) vectors.
> The cross product is performed over the last axis of a and b by default,
> and can handle axes with dimensions 2 and 3. For a dimension of 2,
> the z-component of the equivalent three-dimensional cross product is
> It's the axisa, axisb, and axisc that you are interested in.
> The default is to assume you have Nx3 arrays and return an Nx3 array.
> But you can change the axis used to find vectors.
> will do what you want. I suppose, a single axis= argument might be
> useful as well for the common situation of having all the other axis
> arguments be the same.
More information about the Numpy-discussion