why are the product-rules as they are?

greenspun.com : LUSENET : quaternions : One Thread

A short historical intro: When Hamilton was thinking about the 3D-complex number x+iy+jz he (1)assumed jj=-1 and (2)added a fourth complex number k so ij=k (et voila, quaternions).

I was wondering why he made these choices (1) and (2). Because when you write down the productmatrix for x+iy+jz it looks very logical to choose the following products: ii=j, jj=-i and ij=ji=-1. Was this ever an option, does it not make any sence, or what?

PS: You can make the mandelbrot fractal in 3D with these rules (as I have done using Mathematica, notebook available).

-- Jan Harm Moes (jhmoes@jhm.demon.nl), January 20, 2005


Hamilton was trying to accomplish two objectives. The first was to parallel normal complex number arithmetic where:

C= a + ib C*= a - ib

(C)(C*)= a^2 + b^2

as you can see if you do the multiplication. If you create a hyper-complex number, and want the same result, you won't get it:

H= a + ib + jc H*= a - ib - jc (H)(H*)= a^2 + b^2 + c^2 - 2ijbc

That extra term, 2ijbc is the killer. You want to get rid of that, and the only way to do so is to stipulate that: ij= -ji. Your alternative, even though it is logical, doesn't do this, since if: ij= ji= -1, then: (H)(H*)= a^2 + b^2 + c^2 + 2bc.

Secondly, Hamilton wanted a complex number arithmetic analog of 3-D vector arithmetic. Hamilton's rules:

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

accomplish this. If you do the multiplication on a hyper-complex where these rules apply:

H= a + ib + jc + kd H*= a - ib - jc - kd

(H)(H*)= a^2 + b^2 + c^2 + d^2

where the other terms containing complex components cancel out since they occur in anti-commutative pairs. If you do the actual arithmetic, you will see that you get these rules:

ij= k ji= -k jk= i kj= -i ki= j ik= -j

These parallel the cross products of the unit vectors in the Cartesian system:

u(y) X u(z)= u(x) u(z) X u(y)= -u(x) u(z) X u(x)= u(y) u(x) X u(z)= -u(y) u(x) X u(y)= u(z) u(y) X u(x)= -u(z)

What you proposed does not: ii= j doesn't compare to u(x) X u(x)= 0. This also can't be a dot-product, since dotting vectors gives a scalar, not another vector. While your rules are logical, and may have applications; paralleling vector arithmetic isn't one of them.

-- Joe T. Penrod (simo@furrydolphin.net), March 09, 2005.

Moderation questions? read the FAQ