Subject: Cross product via 3x3 anti-symmetric matrix
From: weaker
Date: Tue, 13 May 2008 17:38:28 +0200
Hi all you Maxima experts,
I need a cross product via a 3x3 anti-symmetric matrix.
And I don't want to use load("vect") due to the commutative behaviour
with the dot product.
I want the following: A method/macro/whatever that takes a 3x1 vector
[ ax ]
[ ay ]
[ az ]
and creates the following anti-symmetric matrix out of it
[ 0 - az ay ]
[ az 0 - ax ]
[ - ay ax 0 ]
Just as a syntactical transformation, putting the vector elements into
the right places inside the matrix (and adding a '-').
I want to use this method in that way (the numbers reflect the
dimensions):
resultmatrix33 : crossp33(matrix33 . vector31) . othermatrix33;
It is important that it can transform the vector even if it is the
result of a calculation like matrix33 . vector31
I don't know much about LISP so I might be thinking too much in C++
return value terms :-)
Best regards,
weaker