|
From: Ian H. <har...@gm...> - 2006-02-17 03:20:42
|
On 2/15/06, Travis Oliphant <oli...@ie...> 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=3D-1, axisb=3D-1, axisc=3D-1) > Return the cross product of two (arrays of) vectors. > > The cross product is performed over the last axis of a and b by defau= lt, > 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=3D0,axisb=3D0,axisc=3D0) > > will do what you want. I suppose, a single axis=3D 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 |