Hi Neil: Yes, a "pure" quaternion A has S(A)=(A+A')/2=0, while a "unit" quaternion A has AA'=N(A)=1 and a pure unit quaternion A has AA=-1. Proof: AA = (AxA-A.A) = 0-(AA') = -N(A) = -1. If AX=XB, then clearly *any* real multiple (including 0) of X will suffice: A(nX)=(nX)B n(AX)=n(XB) AX=XB In particular, n=-1 works, as does n=|X|. So once we find a solution X, then we can have a *unit* (i.e., 'normalize') solution X/|X|. At 07:58 PM 10/1/2020, Neil Bickford wrote:
Hi Henry,
Just to clarify - in this context, does unit vector quaternion refer to a quaternion
xi + yj + zk
such that
x^2 + y^2 + z^2 = 1
(i.e. a quaternion that is unit and only has a vector part?)
I haven't been able to find this in the literature yet - my best guess so far is that because there are an infinite number of solutions (described below), robotics applications seem to focus on the problem of finding a value of X that minimizes a metric of error (e.g. least squares) in a system of equations
A_1 X = X B_1, A_2 X = X B_2, ...
It looks like many applications also consider the case where X, A, B, ... are general matrices, which could include translation (e.g. solutions involving dual quaternions), as well as rotations that aren't odd multiples of pi/2 (i.e. A, B not necessarily unit vector quaternions).
For the infinite number of solutions, suppose X is a quaternion that satisfies AX = XB, where A and B are nonzero quaternions. Then for any real u, v, (defining the power of a quaternion in an appropriate way),
Y = A^u X B^v is another solution to AY = YB,
since
A (A^u X B^v) B^-1 = A^u A X B^-1 B^v = A^u X B^v = Y
so AY = YB.
In other words, if a unit quaternion solution to AX=XB exists, and A and B are also unit quaternions (not necessarily unit vector quaternions) (and assuming I haven't made any mistakes!), then there can be up to a 2-dimensional space of unit quaternion solutions.
Best regards,
--Neil Bickford