Quaternions can be used to represent a point of an object in 3-dimensional space as ai+bj+ck+d (you only really need to store a, b and c).

- A 3-dimensional object can be represented as a list of such points
- Movement, rotation and scaling of objects can be represented as multiplying the coordinates of each point by another quaternion.
- This could be used in 3D computer graphics, computer games, etc

However, quaternions are a special case; it only works for certain numbers of dimensions (4), but not 3 or 5. It is possible to generalise them further (eg

http://en.wikipedia.org/wiki/Octonion), but these generalisations obey fewer and fewer of the familiar rules of arithmetic (like a*b=b*a).

Another representation of 3 dimensions is possible using matrix notation (

http://en.wikipedia.org/wiki/Matrix_%28mathematics%29). This has some advantages:

- You can build matrices in any number of dimensions
- The rules for addition, subtraction and multiplication are fairly easily scaled to different numbers of dimensions
- I haven't tried it myself, but apparently it takes slightly fewer arithmetic operations to move, rotate and scale 3D objects with matrices than with quaternions (not that it matters that much if your computer game has 3D graphics implemented in parallel hardware).
- So for these reasons, Quaternions have fallen out of common use (they are still useful in number theory & physics
^{1})

Matrix mathematics also has some things that are different from high-school arithmetic:

- a*b is usually different from b*a
- a*b is not even defined unless a & b have a compatible number of dimensions
- The equivalent to division often suffers the equivalent to a "divide by zero" error

^{1}For an example of how quaternions & octonions might be useful useful in predicting new subatomic particles, see a TED talk

(some nice graphics in the 90s from 12:30 to 14:00)