Quaternions



Hi, I'd like to do some computations with quaternions.  I just did the
obvious crude thing---define a two-parameter multiplication on
length-4 lists.  I suppose I could also use complex matrix
representation and thus use the built-in matrix multiplication.  But I
was wondering how it should really be done.  I read about this atensor
package for macsyma (and the messages on this list about why it's not
available for maxima), but I don't really know that much about these
more general clifford algebras, yet.  Is there a better way to
proceed?  Is it possible to implement them with the .-operator with
reduction rules similar to those used to implement the complex
numbers: so that I could do something like (%i+2*%j).(4-6*%j), for
instance?  Thanks, Carl