As given this is cross product. Some time ago KI had a discussion about
some sorts of matrix manipulations. The cross product can be handled as
A+/ .*E +/ .*B
where E is a rank 3 array of 0, 1 and _1
When I was working with some symbolic manipulation software this way of
getting a cross product was faster than anything that involved indices.
Ralph S
On Wed, 15 Aug 2007, Tracy Harms wrote:
In "Elementary Matrix Theory", Howard Eves defines a vector product, for
three-dimensional (real) Cartesian coordinate use, so:
c = (a2b3 - a3b2, a3b1 - a1b3, a1b2 - a2b1)
(Above, all numerals are subscripts denoting vector elements.)
I implemented that calculation of c with the following definitions:
atomsb =: 1 0 { atomsa =: 3 4 A. i.3
vp =: -/@:((atomsa { [) * atomsb { ])
My question is, does this seem as good a way as any to handle this? In
particular, is this a case where it is not worth trying to shoe-horn the
functions into a dot phrasing?
Tracy
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm