Summary

The majority of my efforts the last couple days has been focused on understanding quaternions. I have no geometric intuition for why they work, but I am at the point where I understand the algebra, operations, and am convinced they represent transformations. I have attached my notes, which delve into more detail than I will now. Everything I learned on this topic comes from this Kuipers textbook.

Quaternions are a hypercomplex numbersystem of degree n = 4. Theoretically these systems could reach any degree N, but we have not found use for systems greater than n = 4.

I am not going to regurgitate the proof, but it goes something like this:

Now a quaternion in this system is defined as $q = q_0 + q_1i + q_2j + q_3k$. where i, j, k are analogous to orthornormal basis vectors in $R^3.$ $q_0.... q_4$ are all real scalar numbers. The norm is equal to the square root of the summed squared q terms (euclidean norm).

Addition and scalar multiplication work just as you would expect, the same as vectors. Quaternion multiplication involves foiling, and simplifying the complex terms using the rules specified above, for example $ij = k$ (notice that multiplication between quaternions is not communicative!). Also we can define the set $Q_0$ as the set of pure quaternions, which are quaternions without $q_0 = 0$.

At this point the book kind of “cheats” you, it just says let us pretend for a moment that a quaternion could represent a rotation transformation. Let us guess how that would occur.

We know that we need to take some vector is $R^3$ and apply some transformation to it, something like this: $w = qv$ where w is the transformed vector v. The issue here is that we have not defined how to multiply quaternions with regular vectors.

The book “suggests” that a good place it start is by mapping $R^3$ vectors 1 to 1 with the ijk components of each quaternion and leaving the non vector part as 0. In this way we can represent any vector in $R^3$ as a pure quaternion.

Since we have defined multiplication between quaternions we can now carry out the aforementioned $w = qv$ transformation. Now we run into an issue though because out of this transformation we need to get a vector in $R^3$ or a pure quaternion. We have $qv$ where q is any quaternion and v is a pure quaternion. The issue is that pure quaternions are not closed under vector multiplication, so we can get a none pure quaternion out of $qv.$

The book once again “suggests” that we go for a triple product along the lines of $qvq^$ where $q^$ is the conjugate of $q$ (flip the signs to the vector components of q to to get the conjugate).

The book also notes that if q is a unit quaternion, meaning $|q|^2 = 1$, and because $cos^2(\theta) + sin^2(\theta) = 1$ we can also define a quaternion where $cos^2(\theta) = q_0^2$ and $sin^2(\theta) = iq_1^2 + jq_2^2 + kq_3^2$. Now we can write that a quaternion $q = q_0 + \boldsymbol{v} = cos(\theta) + u sin(\theta$) where u is a unit vector in $R^3$ .

The book then goes on to prove that this quaternion q when used in function $L_q(v) = qvq^*$ represents a transformation around the axis defined by u by an angle of $2\theta$.

I am not going to go into those proofs, you can read the book for that. The book also notes that you can transform between euler angles and quaternions relatively trivially.

Here are my more detailed notes:

Quaternion Notes.pdf