# [Maxima] vector times vector; vector^-1?

Renatus dositheus at hotmail.com
Sun Nov 16 17:13:51 CST 2008

 > 1. Re: vector times vector; vector^-1? (Robert Dodier)...> ... Does matrix_element_mult help?...> Robert Dodier Yes.  For application to Clifford Analysis, where Clifford Algebra is mostly used in an orthonormal system of coordinates, I first modified Viktor Toth's "atensimp", which is more general, to be "clifsimp", specifically restricted to the desired application, then the single line matrix_element_mult:lambda([x,y],clifsimp(x . y))\$ enabled me to use matrices with Clifford valued elements.

In particular using then the quaternion algebra easily represented as a subalgegra of that restricted Clifford algebra, the algebra of Dirac matrices as 2x2 matrices with quaternion valued entries can be implemented. (This could answer a question addressed some time ago which as far as I know received no reply). Viktor helped me to overcome another difficulty in trying to declare "scalar" array elements used as scalar multipliers appearing in a Clifford expression like A:sum(a[k]*e[k],k,1,n)  where a is an array of scalars and the e[k] are non-commutative Clifford units such that  (-1/2)(e[i] . e[j] + e[j] .  e[i]) = \delta(i,j), the Kronecker \delta,  by simply by-passing declare(..., scalar), which has no effect on arrays, and replacing it by a couple of rather clumsy Lisp lines to get the desired result. It would be better if arrays could be consistently declared with scalar or non-scalar elements.

As for the inverse of a vector, it is well defined in Clifford Algebra.

In a n dimensional Euclidean space in orthonormal coordinates and positive signature (rather than the negative one, as above, which is usual in papers on Clifford Analysis) the inverse of a vector would be:

v^-1[i] := v[i]/sum(v[k]^2,k,1,n),

so that the scalar product: v^-1 dot v = v dot v^-1 = 1.
Regards, Rene Grognard.
_________________________________________________________________
Time for change? Find your ideal job with SEEK.