# [Numpy-discussion] cross product of two 3xn arrays

Ian Harrison harrison.ian at gmail.com
Thu Feb 16 19:21:03 CST 2006

```On 2/15/06, Travis Oliphant <oliphant.travis at ieee.org> wrote:
> Ian Harrison wrote:
>
> >Hello,
> >
> >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
>     returned.
>
> 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.
>
> cross(A,B,axisa=0,axisb=0,axisc=0)
>
> 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.
>
> -Travis

Travis,

Thanks for your patience. This is what I was looking for.

Ian

```