logo back up home forward   further reading more topics »

Maths - Conjugation

In order to calculate how a point moves when being rotated in 3D we can use the 'sandwich product' as discussed on this page.

But where does this sandwich product come from? It seems arbitrary, why this function? Is this something that is specific to quaternions or something about rotations that needs this form?

It turns out that the 'sandwich product' is not only used for quaternions. It can be used to represent many other types of transform ... see the pages about geometric algebra, rotors, conformal space and so on.

But the 'sandwich product' is still more general than that, it turns up in group theory and set theory, in this form it is known as a 'conjugacy' (not to be confused with the conjugate of a complex number or quaternion, here a conjugacy is the whole sandwich product).

I think that if we really want to understand where this comes from then we need to delve into this branch of mathematics.

In set theory conjugacy is a way to determine whether two sets (with a multipication operation - typically a group) are for pactical purposes equivalent, that is, isomorphic.

Here we will try to explain this in terms of quaternions:

quaternion conjugacy

We define some mapping φ from G to G'. We want G and G' to be equivalent to each other, this means that G and G' are isomorphic. This isomorphism means that:

φ(q1*q2) = φ(q1) * φ(q2)

where:

So what is this mapping φ? We can use:

φ(v) = q v q-1

so

φ(q1*q2) = q q1 q2 q-1
= q q1 q-1 q q2 q-1
= φ(q1)*φ(q2)

(since q-1 q =1)

So we can see that this sandwich product (conjugacy) has the right properties for an isomorphism (I have investigated what functions form an isomrphism on this page).

What would happen if instead of the sandwich product we tried a simple product:

φ(v) = q v

in this case we would have:

φ(q1*q2) = q q1 q2
but

φ(q1)*φ(q2) = q q1 q q2

which is different so a simple product does not form an isomorphism.

So what about matrix algebra? We can use the mutiplication of a matrix by a vector to rotate a point, why does this work?


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

This is the best book that I have found, so far, to introduce this topic:
flag flag flag flag flag flag Contemporary Abstract Algebra written by Joseph Gallian - This investigates algebra (Groups, Rings, Fields) using an abstract (set theory) approach. It is very readable for such an abstract topic but the inclusion of 1 page histories of the great mathematicians and other background information.

 

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

 

cover Dark Basic Professional Edition - It is better to get this professional edition

cover This is a version of basic designed for building games, for example to rotate a cube you might do the following:
make object cube 1,100
for x=1 to 360
rotate object 1,x,x,0
next x

cover Game Programming with Darkbasic - book for above software

Can you help?

Please send me any improvements to here. I would appreciate ideas to make the pages more useful including error correction, ideas for new pages, improvements to wording. It helps if you quote the full URL of the page.

 

Terminology and Notation

Specific to this page here:

 

program

I am working on a project which uses these principles, if you would like to help me with this you are welcome to join in, here:

http://sourceforge.net/projects/mjbworld/

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2010 Martin John Baker - All rights reserved - privacy policy.