# Maths - Dual Quaternion Functions

## Conjugate

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

• (q1 q2)† = q2† q1† In this way we can change the order of the multipicands.
• q * q† = a2 + b2+ c2 + d2 = real number. Multiplying a quaternion by its conjugate gives a real number. This makes the conjugate useful for finding the multiplicative inverse. For instance, if we are using a quaternion q to represent a rotation then conj(q) represents the same rotation in the reverse direction.
• Pout = q * Pin * q† We use this to calculate a rotation transform.

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

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

• Q† = r† + ε d†
• Q† = r - ε d
• Q† = r† - ε d†

where:

• Q = the dual quaternion
• Q† = the conjugate of the dual quaternion
• r = a quaternion
• d = another quaternion which forms the dual part of the dual quaternion.

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 + (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* (a - i c - j e - k g)*(ab + cd +ef +gh))

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*a*(ab + cd +ef +gh)
iε = -d*(aa + cc +ee +gg) + 2*c*(ab + cd +ef +gh)
jε = -f*(aa + cc +ee +gg) + 2*e*(ab + cd +ef +gh)
kε = -h*(aa + cc +ee +gg) + 2*g*(ab + cd +ef +gh)