logo back up home forward   further reading more topics »

Maths - Dual Quaternion Functions

Conjugate

When we were discusing the quaternion conjugate we found that it had at least 3 useful properties:

Can we define a conjugate for dual quaternions that has these properties?

There are multiple definitions for the conjugate of a dual quaternion:

where:

The type of conjugate that we use depends on what we want it to do:

type of conjugate use of this type
Q† = r† + ε d† reversing multiplicands
(Q1 Q2)† = Q2† Q1†
Q† = r - ε d  
Q† = r† - ε d† translation
Pout = Q * Pin * Q†

The first of these has this properties:

(Q1 Q2)† = Q2† Q1†

So if :

Q = a + b i + c j + d k + e ε + f iε + g jε + h kε

then:

Q† = a - b i - c j - d k + e ε - f iε - g jε - h kε

We can show that (Q1 Q2)† = Q2† Q1† by expanding out the terms as follows:

(Q1 Q2)† = ((r1 + ε d1)*(r2 + ε d2))†
= (r1*r2 + ε (r1*d2 + d1*r2))†
= (r1*r2)† + ε (r1*d2)† + ε (d1*r2)†

compare this to

Q2† Q1† = (r2 + ε d2)†*(r1 + ε d1)†
= (r2† + ε d2†)*(r1† + ε d1†)
= r2†*r1† + ε (r2†*d1† + d2†*r1†)
= (r1*r2)† + ε (r1*d2)† + ε (d1*r2)†

Amy de Buitléir has written this document to explain in this document and kindly allowed me to publish it.

Inverse Function

Dividing quaternions is done by multiplying top and bottom by the conjugate, can we do the same with dual quaternions?

Q Q† = (r + ε d)*(r + ε d)†
= r*r†+ ε (r*d† + d*r†)
= r*r†+ ε (r*d† + (r*d†)†)

but q + q† = 2*real part

Q Q† = |r|² + 2*ε*real(r*d†)

This is a bit messy so lets double check it by repeading with a fully expanded quaternion, start with this dual quaternion,

Q = (a + ε b) + i (c + ε d) + j (e + ε f) + k (g + ε h)

multiplying by the quaternion conjugate:

Q† = (a + ε b) - i (c + ε d) - j (e + ε f) - k (g + ε h)

gives the dual number:

Q Q† = (a + ε b)2 + (c + ε d)2 + j(e + ε f)2 + (g + ε h)2

multiplying out the terms gives:

(aa + ε 2ab) + (cc + ε 2cd) + (ee + ε 2ef) + (gg + ε 2gh)

(aa + cc +ee +gg) + ε 2* (ab + cd +ef +gh)

Which is in the same form as we found earier

Can we get rid of ε term by multiplying by:

(aa + cc +ee +gg) - ε 2* (ab + cd +ef +gh)

which gives:

(aa + cc +ee +gg)2

so we first multiplied by: (a + ε b) - i (c + ε d) - j (e + ε f) - k (g + ε h)

and then: (aa + cc +ee +gg) - ε 2* (ab + cd +ef +gh)

so the total multiplier is:

((a + ε b) - i (c + ε d) - j (e + ε f) - k (g + ε h))*((aa + cc +ee +gg) - ε 2* (ab + cd +ef +gh))

giving:

((a - i c - j e - k g) + ε (b - i d - j f - k h))*((aa + cc +ee +gg) - ε 2* (ab + cd +ef +gh))

multiply out:

((a - i c - j e - k g)*(aa + cc +ee +gg) + ε (b - i d - j f - k h)*(aa + cc +ee +gg) - 2* (ab + cd +ef +gh)*(b - i d - j f - k h)

so the terms are:

real = a*(aa + cc +ee +gg)
i = -c*(aa + cc +ee +gg)
j = -e*(aa + cc +ee +gg)
k = -g*(aa + cc +ee +gg)
ε = b*(aa + cc +ee +gg) - 2*b*(ab + cd +ef +gh)
iε = -d*(aa + cc +ee +gg) + 2*d*(ab + cd +ef +gh)
jε = -f*(aa + cc +ee +gg) + 2*f*(ab + cd +ef +gh)
kε = -h*(aa + cc +ee +gg) + 2*h*(ab + cd +ef +gh)

 



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.

cover us uk de jp fr ca Quaternions and Rotation Sequences.

 

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 us uk de SuSE Linux 11.0. Operating system with a wide range of applications including Open Office. A good distribution for developers as it contains KDevelop. Java, Mono, etc. Can install itself as a dual-boot system with an existing Windows OS if required. For information about installing it see this page.

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-2008 Martin John Baker - All rights reserved - privacy policy.