Hi, I'm trying to do some simple quaternion maths with maxima.
So far I have:
load(atensor)
init_atensor(quaternion)
i:v[1]
j:v[2]
k:v[1].v[2]
After this simple stuff works like:
atensimp(i.i)
-1
But if I try:
atensimp((a . i + b . j) . (c . i + d . j)) (where a,b,c,d are scalars)
Then it gives me answers involving 'sf(v[1], b)' and things like that. If I
alter the definition of sf to be:
sf(u,v):=if abasep(u) and abasep(v) then aform[part(u,1),part(v,1)] else u.v
(instead of 'else sf(u, v)')
Then it seems to work, but is no longer able to simplify a.a (to a^2).
Is there some crazy thing I have to do to tell it that a,b,c,d are scalars?
Thanks
-Tim Hutt
PS: Please CC me - not on list.