# Quaternion Properties and Interactive Rotations with Wolfram|Alpha

One fall evening in 1843, a man walked past the Brougham Bridge along the Royal Canal in Dublin, Ireland. Suddenly, he felt a flash of insight so strong he was compelled to etch his thoughts into the rock on the side of the bridge. This is what he wrote:

i^{2}=j^{2}=k^{2}=ijk= -1

The man was mathematician William Rowan Hamilton, and the insight was of a number system that could represent forces and motions in three-dimensional space. Hamilton called his numbers “quaternions”, because each has four parts: a real number part, and three other parts labeled with *i*, *j*, and *k*, each of which is also a real number. For example, 2 + 3*i* + 0.342*j* – 2*k* is a quaternion.

Quaternions are a generalization of the complex numbers, just like the complex numbers are a generalization of the real numbers. Also like complex numbers, each quaternion has a “norm” (length) and a “conjugate”. Typing a quaternion into Wolfram|Alpha will bring up all of this information and more:

Note that this same quaternion can also be entered in the *Mathematica* form: `Quaternion[2,-1,1,3]`.

Quaternion addition is the same as vector addition—just add the corresponding parts. Quaternion multiplication is very different. For one thing, it’s not commutative: *q* x *r* is not always the same as *r* x *q*. Wolfram|Alpha will multiply any number of quaternions together and tell you about the result.

If you don’t want all of this information, you can ask Wolfram|Alpha for a specific piece information about a given quaternion or product of quaternions:

Quaternions are useful as a way of describing many natural phenomena, including Newtonian mechanics, as was Hamilton’s intention. Today, quaternions are mainly used to compute three-dimensional rotations for computer graphics. Wolfram|Alpha provides several representations of the corresponding rotation:

By playing with the interactive version of the “Corresponding 3D rotation” pod, you can discover how the four values in a quaternion determine the corresponding rotation. The pod is initially set to the four values of the corresponding unit quaternion and it lets you vary these values from -10 to 10. Since the rotation given by a quaternion is determined only by its corresponding unit quaternion, every possible rotation can be explored.

We hope you find this new feature fun and useful. Enjoy!