Geometric Fundamentals in Robotics Quaternions Basilio Bona - - PowerPoint PPT Presentation

geometric fundamentals in robotics quaternions
SMART_READER_LITE
LIVE PREVIEW

Geometric Fundamentals in Robotics Quaternions Basilio Bona - - PowerPoint PPT Presentation

Geometric Fundamentals in Robotics Quaternions Basilio Bona DAUIN-Politecnico di Torino July 2009 Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 1 / 47 Introduction Quaternions were discovered in 1843 by Sir William


slide-1
SLIDE 1

Geometric Fundamentals in Robotics Quaternions

Basilio Bona

DAUIN-Politecnico di Torino

July 2009

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 1 / 47

slide-2
SLIDE 2

Introduction

Quaternions were “discovered” in 1843 by Sir William Hamilton, who was looking for the extension to 3D space of the complex numbers as rotation

  • perators.

Figure: Sir William Rowland Hamilton (1805-1865) and the plaque on Broom Bridge, where the quaternions were discovered.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 2 / 47

slide-3
SLIDE 3

Definitions

The generic quaternion will be indicated as q. Quaternions are elements of a 4D linear space H(R), defined on the real numbers field F = R, with base {1 i j k}. i, j and k are ipercomplex numbers that satisfy the following anticommutative multiplication rules: i2 = j2 = k2 = ijk = −1 ij = −ji = k jk = −kj = i ki = −ik = j

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 3 / 47

slide-4
SLIDE 4

Definitions

A quaternion q ∈ H is defined as a linear combination expressed in the base {1 i j k}: q = q01+q1i+q2j+q3k where the coefficients {qi}3

i=0 are real.

Another way to represent a quaternion is to define it as a quadruple of reals, (q0,q1,q2,q3) q = (q0,q1,q2,q3) in analogy with complex numbers c = a +jb, where c is represented by a couple of reals, c = (a,b),

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 4 / 47

slide-5
SLIDE 5

Definitions

Quaternions are also defined as hypercomplex numbers, i.e., those “complex numbers” having complex coefficients: q = c1 +jc2, where c1 = q0 +kq3 e c2 = q2 +kq1. Therefore, considering multiplication rules, it results: q = c1 +jc2 = q0 +kq3 +jq2 +jkq1 = q01+q1i+q2j+q3k

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 5 / 47

slide-6
SLIDE 6

Definitions

In analogy with complex numbers that are the sum of a real part and an imaginary part, quaternions are the sum of a real part and a vectorial part. The real part qr is defined as qr = q0, and the vectorial part qv is defined as qv = q1i+q2j+q3k. We write q = (qr, qv) or q = qr +qv; note that the vectorial part is not “transposed” since the conventional definition for the vectorial part of a quaternion assumes a row representation. Using the convention that defines vectors as “column” vectors, we can write q = (qr, qT

v ).

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 6 / 47

slide-7
SLIDE 7

Definitions

Quaternions are general mathematical objects, that include real numbers r = (r, 0, 0, 0), r ∈ R complex numbers a +ib = (a, b, 0, 0), a,b ∈ R real vectors in R3 (with some caution, since not all vectorial parts represents vectors) v = (0, v1, v2, v3), vi ∈ R. In this last case, elements i j k are to be understood as unit vectors i j k forming an orthonormal base in a cartesian right-handed reference frame.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 7 / 47

slide-8
SLIDE 8

Definitions

Multiplication rules between elements i,j,k have the same properties of the cross product between unit vectors i,j,k: ij = k ⇔ i×j = k ji = −k ⇔ −j×i = −k etc. In the following we will use all the possible alternative notations to indicate quaternions q = q01+q1i+q2j+q3k = (qr,qv) = qr +qv = (q0,q1,q2,q3) i.e., a) a hypercomplex number; b) the sum of a real part and a vectorial part; c) a quadruple of reals.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 8 / 47

slide-9
SLIDE 9

Definitions

An alternative way to write a quaternion is the following q = q01+q1i+q2j+q3k where now 1 =

  • 1

1

  • ;

i =

  • i

−i

  • ;

j =

  • 1

−1

  • ;

k =

  • i

i

  • ;

and i2 = −1. Hence every matrix is of the form

  • c

d −d∗ c∗

  • ;

These matrices are called Cayley matrices [see Rotations - Pauli spin matrices].

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 9 / 47

slide-10
SLIDE 10

Quaternions algebra

Given a quaternion q = q01+q1i+q2j+q3k = qr +qv = (q0,q1,q2,q3), the following properties hold: a null or zero 0 quaternion exists 0 = 01+0i+0j+0k = (0,0) = 0+0 = (0,0,0,0) a conjugate quaternion q∗ exists, having the same real part and the

  • pposite vectorial part:

q∗ = q0 −(q1i+q2j+q3k) = (qr,−qv) = qr −qv = (q0,−q1,−q2,−q3) Conjugate quaternions satisfy (q∗)∗ = q

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 10 / 47

slide-11
SLIDE 11

Quaternions algebra

a non-negative function, called quaternion norm exists q, defined as q2 = qq∗ = q∗q =

3

ℓ=0

q2

ℓ = q2 0 +qT v qv

A quaternion with unit norm q = 1 is called unit quaternion. Quaternion q and its conjugate q∗ have the same norm q = q∗ The quaternion qv = 01+q1i+q2j+q3k = (0,qv) = 0+qv = (0,q1,q2,q3), that has a zero real part is called pure quaternion or vector. The conjugate

  • f a pure quaternion qv is the opposite of the original pure quaternion

q∗

v = −qv

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 11 / 47

slide-12
SLIDE 12

Quaternions algebra

Given two quaternions h = h01+h1i+h2j+h3k = (hr,hv) = hr +hv = (h0,h1,h2,h3) and g = g01+g1i+g2j+g3k = (gr,gv) = gr +gv = (g0,g1,g2,g3) the following operations are defined

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 12 / 47

slide-13
SLIDE 13

Sum

Sum or addition h+g h+g = (h0 +g0)1+(h1 +g1)i+(h2 +g2)j+(h3 +g3)k = ((hr +gr), (hv +gv)) = (hr +gr)+(hv +gv) = (h0 +g0,h1 +g1,h2 +g2,h3 +g3)

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 13 / 47

slide-14
SLIDE 14

Difference

Difference or subtraction h−g = (h0 −g0)1+(h1 −g1)i+(h2 −g2)j+(h3 −g3)k = ((hr −gr), (hv −gv)) = (hr −gr)+(hv −gv) = (h0 −g0,h1 −g1,h2 −g2,h3 −g3)

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 14 / 47

slide-15
SLIDE 15

Product

Product hg = (h0g0 −h1g1 −h2g2 −h3g3)1+ (h1g0 +h0g1 −h3g2 +h2g3)i+ (h2g0 +h3g1 +h0g2 −h1g3)j+ (h3g0 −h2g1 +h1g2 +h0g3)k = (hrgr −hv ·gv, hrgv +grhv +hv ×gv) where hv ·gv is the scalar product hv ·gv = ∑

i

hvigvi = hT

v gv = gT v hv

defined in Rn, and hv ×gv is the cross product (defined only in R3) hv ×gv =   h2g3 −h3g2 h3g1 −h1g3 h1g2 −h2g1   = S(hv)gv

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 15 / 47

slide-16
SLIDE 16

Product

The quaternion product is anti-commutative, since, being gv ×hv = −hv ×gv it follows gh = (hrgr −hv ·gv, hrgv +grhv −hv ×gv) = hg; Notice that the real part remains the same, while the vectorial part

  • changes. Product commutes only if hv ×gv = 0, i.e., when the vectorial

parts are parallel. The conjugate of a quaternion product satisfies (gh)∗ = h∗g∗. The product norm satisfies hg = hg.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 16 / 47

slide-17
SLIDE 17

Product properties

associative (gh)p = g(hp) multiplication by the unit scalar 1q = q1 = (1,0)(qr,qv) = (1qr,1qv) = (qr,qv) multiplication by the real λ λq = (λ,0)(qr,qv) = (λqr,λqv) bilinearity, with real λ1,λ2 g(λ1h1 +λ2h2) = λ1gh1 +λ2gh2 (λ1g1 +λ2g2)h = λ1g1h+λ2g2h

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 17 / 47

slide-18
SLIDE 18

Product

Alternative forms Quaternion product may be written as matrix product forms: hg =    h0 −h1 −h2 −h3 h1 h0 −h3 h2 h2 h3 h0 −h1 h3 −h2 h1 h0       g0 g1 g2 g3    =

  • h0

−hT

v

hv h0I+S(hv)

  g0 g1 g2 g3    = FL(h)g

  • r

hg =    g0 −g1 −g2 −g3 g1 g0 g3 −g2 g2 −g3 g0 g1 g3 g2 −g1 g0       h0 h1 h2 h3    =

  • g0

−gT

v

gv g0I+S(gv)

  h0 h1 h2 h3    = FR(g)h

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 18 / 47

slide-19
SLIDE 19

Quotient

Since the quaternion product is anti-commutative we must distinguish between the left and the right quotient or division. Given two quaternions h e p, we define the left quotient of p by h the quaternion qℓ that satisfies hqℓ = p while we define the right quotient of p by h the quaternion qr that satisfies qrh = p Hence qℓ = h∗ h2 p; qr = p h∗ h2

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 19 / 47

slide-20
SLIDE 20

Inverse

Given a quaternion q, in principle one must define the right q−1

r

and the left inverse q−1

as qq−1

= 1 = (1,0,0,0); q−1

r q = 1 = (1,0,0,0)

Since qq∗ = q∗q = q2 = qq∗, one can write q q q∗ q∗ = q∗ q∗ q q = 1 = (1,0,0,0) It follows that right inverse and left inverse are equal q−1

= q−1

r

= q−1 = q∗ q2 similar to c−1 = c∗ c2

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 20 / 47

slide-21
SLIDE 21

Inverse

For a unit quaternion u, u = 1, inverse and conjugate coincide u−1 = u∗, u = 1 and for a pure unit quaternion q = (0,qv), q = 1, i.e., a unit vector q−1

v

= q∗

v = −qv.

Inverse satisfies (q−1)−1 = q; (pq)−1 = q−1p−1

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 21 / 47

slide-22
SLIDE 22

Selection function

We define the selection function ρ(q) = q0 = qr as the function that “extracts” the real part of a quaternion This function satisfies ρ(q) = q+q∗ 2 .

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 22 / 47

slide-23
SLIDE 23

Hamilton product

If we multiply two pure quaternions , i.e., two vectors uv = (0,uv) = u1i+u2j+u3k and vv = (0,vv) = v1i+v2j+v3k we obtain uvvv = (−uv ·vv, u×v). Hence, with a slight notation abuse, we can define a new vector product, called Hamilton product uv = −u·v+u×v. This product implies uu = −u·u, and for this reason, among others the quaternions were abandoned in favor of vectors. Nonetheless the quaternion product has an important role in representing rotations.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 23 / 47

slide-24
SLIDE 24

Unit quaternions

Before starting to illustrate the relations between quaternions and rotation, we look closer to the properties of the unit quaternions, that we indicate with the symbol u. A unit quaternion (u = 1) has an unit inverse and the product of two unit quaternions is still a unit quaternion. We assume that a unit quaternion is represented by a sum of two trigonometric functions u = cosθ+usinθ = (cosθ,usinθ) where u is a unit norm vector and θ a generic angle.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 24 / 47

slide-25
SLIDE 25

Unit quaternions

Notice the analogy with the unit complex number expression c = cosθ+jsinθ The analogy applies also to the exponential expression c = ejθ; substituting x with uθ in the series expansion of ex and recalling that uu = −1, we have euθ = cosθ+usinθ = u The relation above shows a formal identity between a unit quaternion and the exponential of a unit vector multiplied by a scalar θ Notice the similarity between u = euθ and R(u,θ) = eS(u)θ

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 25 / 47

slide-26
SLIDE 26

Unit quaternions

From the previous relation one obtains the power p of a unit quaternion as up = (cosθ+usinθ)p = euθp = cos(θp)+usin(θp) and the logarithm of a unit quaternion logu = log(cosθ+usinθ) = log(euθ) = uθ Notice that the anti-commutativity of the quaternion product inhibits to use the standard identities between exponential and logarithms. For instance, eu1eu2 it is not necessarily equal to eu1+u2, and log(u1u2) is not necessarily equal to log(u1)+log(u2).

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 26 / 47

slide-27
SLIDE 27

Quaternions and Rotations

Now we relate rotations and unit quaternions Given the unit quaternion u = (u0,u1,u2,u3) = (u0,u) = cosθ+usinθ this represents the rotation Rot(u,2θ) around u = u1 u2 u3 T The converse is also true, i.e., given a rotation Rot(u,θ) of an angle θ around the axis specified by the unit vector u = u1 u2 u3 T, the unit quaternion u =

  • cos θ

2,u1 sin θ 2,u2 sin θ 2,u3 sin θ 2

  • =
  • cos θ

2, usin θ 2

  • =

cos θ 2 +usin θ 2 represents the same rotations.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 27 / 47

slide-28
SLIDE 28

Quaternions and Rotations

We know that a rigid rotation in R3 is represented by a rotation (orthonormal) matrix R ∈ SO(3) ⊂ R3×3. We can associate to every rotation matrix R a unit quaternion u and viceversa, indicating this relation as R(u) ⇔ u.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 28 / 47

slide-29
SLIDE 29

Quaternions and Rotations

To compute the rotation matrix R(u) given a unit quaternion u = (u0,u), we use the following relation R(u) = (u2

0 −uTu)I+2uuT −2u0S(u) =

   u2

0 +u2 1 −u2 2 −u2 3

2(u1u2 −u3u0) 2(u1u3 +u2u0) 2(u1u2 +u3u0) u2

0 −u2 1 +u2 2 −u2 3

2(u2u3 −u1u0) 2(u1u3 −u2u0) 2(u2u3 +u1u0) u2

0 −u2 1 −u2 2 +u2 3

   where S(u) is an antisymmetric matrix.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 29 / 47

slide-30
SLIDE 30

Quaternions and Rotations

To compute the unit quaternion u = (u0,u) given a rotation matrix R we use the following relation u0 = ±1 2

  • (1+r11 +r22 +r33)

u1 = 1 4u0 (r32 −r23) u2 = 1 4u0 (r13 −r31) u3 = 1 4u0 (r21 −r12)

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 30 / 47

slide-31
SLIDE 31

Quaternions and Rotations

Another alternative relation is u0 = 1 2

  • (1+r11 +r22 +r33)

u1 = 1 2 sign(r32 −r23)

  • (1+r11 −r22 −r33)

u2 = 1 2 sign(r13 −r31)

  • (1−r11 +r22 −r33)

u3 = 1 2 sign(r21 −r12)

  • (1−r11 −r22 +r33)

where sign(x) is the sign function, with sign(0) = 0. This relation is never singular compared with the previous one that is singular for u0 = 0

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 31 / 47

slide-32
SLIDE 32

Quaternions and Rotations

Elementary rotations around the three principal axes R(i,α), R(j,β) and R(k,γ), correspond to the following elementary quaternions R(i,α) → ux =

  • cos α

2 , sin α 2 , 0, 0

  • R(j,β) → uy =
  • cos β

2, 0, sin β 2, 0

  • R(k,γ) → uz =
  • cos γ

2, 0, 0, sin γ 2

  • It is easy to see hat the “vectorial base” of quaternions correspond to

elementary rotations of π around the principal axes i = (0,1,0,0) → R(i,π) j = (0,0,1,0) → R(j,π) k = (0,0,0,1) → R(k,π)

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 32 / 47

slide-33
SLIDE 33

Quaternions and Rotations

Notice an important fact: while the product among the unit base quaternions gives ii = jj = kk = ijk = (−1, 0, 0, 0), the product among the associated rotation matrices gives: R(i,π)R(i,π) = R(j,π)R(j,π) = R(k,π)R(k,π) = R(i,π)R(j,π)R(k,π) = I Since I represents a rotation that leaves the vectors unchanged, it seems natural to associate it to positive unit scalar, i.e., the quaternion (1,0,0,0). The apparent discrepancy between the two results can be explained only introducing a most basic mathematical quantity, called spinor, not discussed in the present context

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 33 / 47

slide-34
SLIDE 34

Quaternions and Rotations

We shall see now some correspondence between quaternion operations and matrix operations Rotation product Given n rotations R1, R2, ···, Rn and the corresponding unit quaternions u1, u2, ···, un, the product R(u) = R(u1)R(u2)···R(un) corresponds to the product u = u1u2 ···un in the shown order.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 34 / 47

slide-35
SLIDE 35

Quaternions and Rotations

Transpose matrix Given the rotation R(u) and its corresponding unit quaternion u, the transpose matrix (i.e., the inverse rotation) RT corresponds to the conjugate unit quaternion u∗ (i.e., the inverse quaternion) R ⇔ u RT ⇔ u∗

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 35 / 47

slide-36
SLIDE 36

Quaternions and Rotations

Vector rotation Given a generic vector x, and the corresponding pure quaternion qx = (0,x) = (0,x1,x2,x3) and given a rotation matrix R(u) with its corresponding unit quaternion u, the rotated vector y = R(u)x is given by the vectorial part of the quaternion obtained as qy = (0,y) = uqxu∗ where

  • qy
  • = qx

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 36 / 47

slide-37
SLIDE 37

The map qx → qy = uqxu∗ ⇔ y = R(u)x that transforms a pure vector into its rotated counterpart, in quaternion form, is called conjugation by u. Notice that the transpose map is equivalent to exchange the order of the conjugation qx → qy = u∗qxu ⇔ y = RT(u)x Quaternions u and u∗ = u−1 are called antipodal, because they represent

  • pposite points on the 3-sphere of unit quaternions.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 37 / 47

slide-38
SLIDE 38

Quaternions and Rotations

If we use the homogeneous coordinates to express the vector x ˜ x = wx1 wx2 wx3 wT and the quaternion x is defined as x = (w,wx) the product uxu∗ provides the quaternion y, defined as y = (w,wR(u)x) The resulting vector y, in homogeneous coordinates is therefore ˜ y = wy1 wy2 wy3 wT ⇔ y = R(u)x

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 38 / 47

slide-39
SLIDE 39

Quaternions and Rotations

Product matrices Since the bi-linearity property holds for the product between two quaternions, this can be represented by linear operators (i.e., matrices). We recall that the product qp can be expressed in matrix form as qp = FL(q)p This can be interpreted as the left product of q by p. Similarly for the right product pq, expressed as pq = FR(q)p.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 39 / 47

slide-40
SLIDE 40

Quaternions and Rotations

We can obtain pq∗ as FR(q∗)p and qpq∗ = FL(q)FR(q∗)p = Qp where the matrix Q ∈ R4×4 is Q = FL(q)FR(q∗) =       q2

0 +q2 1 −q2 2 −q2 3

2(q1q2 −q3q0) 2(q1q3 +q2q0) 2(q1q2 +q3q0) q2

0 −q2 1 +q2 2 −q2 3

2(q2q3 −q1q0) 2(q1q3 −q2q0) 2(q2q3 +q1q0) q2

0 −q2 1 −q2 2 +q2 3

q2       We observe that the upper left 3×3 matrix of Q equals the matrix R(q) previously defined

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 40 / 47

slide-41
SLIDE 41

Quaternions in Aerospace literature

In space applications quaternions are used when dealing with satellite

  • rientation control; unfortunately they may be “organized” in a different

way wrt to our conventions: often the real part is the last element of quaternions q = (q1,q2,q3,q0)

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 41 / 47

slide-42
SLIDE 42

Historical notes

Hamilton tried to use the quaternions for a unified description of space-time physics (before Einstein), considering the real part of the quaternion as the representation of time, and the vectorial part as the representation of space q = (t,x,y,z). Unfortunately the quadratic form q∗q = qq∗ = t2 +x2 +y 2 +z2 has the wrong signature (+,+,+,+). We know that, in special relativity, the Minkowski spacetime standard basis has a set of four mutually orthogonal vectors (e0,e1,e2,e3) such that −(e0)2 = (e1)2 = (e2)2 = (e3)2 = 1 with signature (+,−,−,−) or (−,+,+,+).

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 42 / 47

slide-43
SLIDE 43

The development of hyperbolic quaternions in the 1890s prepared the way for Minkowski space. Indeed, as a mathematical structure, Minkowski space can be taken as hyperbolic quaternions minus the multiplicative product, retaining only the bilinear form η(p,q) = −pq∗ +(pq∗)∗ 2 which is generated (evidently) by the hyperbolic quaternion product pq∗. [from Wikipedia: Minkowski space]

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 43 / 47

slide-44
SLIDE 44

Hamilton tried for many years to extend the complex numbers rotation

  • perator from plane to space trying with triads of real number (a,b,c),

with base (1,i,j), but he did not succeed. A story goes that every morning his sons would inquire “Well, Papa can you multiply triplets?” The problem is that the general result on which he based his reasoning, i.e., the extension of the complex number result (a2

1 +a2 2)(b2 1 +b2 2) = (c2 1 +c2 2)

to the R3 space, cannot be solved with triads of numbers, i.e., (a2

1 +a2 2 +a2 3)(b2 1 +b2 2 +b2 3) = (c12 +c2 2 +c2 3)

that is the same to ask for the existence ab = ab in general cases (three components vectors in particular). [from J. Stillwell, Mathematics and Its History, Springer]

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 44 / 47

slide-45
SLIDE 45

The problem is that, while for complex numbers the product result is well known (a1 +ja2)(b1 +jb2) = a1b1 −a2b2 +j(a2b1 +a1b2)

  • r

(a1,a2)(b1,b2) = (a1b1 −a2b2,a2b1 +a1b2) for triad of numbers it is impossible. Hamilton failed to acknowledge this and did not notice a result already given by Diophantus, that for example, 3 = 11 +12 +12 and 5 = 02 +12 +22 are both sums of three squares, but their product 15 is

  • not. So he persisted for 13 years before discovering that he needed four

numbers, i.e., the quaternions.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 45 / 47

slide-46
SLIDE 46

By the way the only number systems with a product satisfying ab = ab are the real numbers R = R1. the complex numbers C = R2; they are couples or real numbers. the quaternions H = R4; they are couples or complex numbers. the octonions O = R8; they are couples or quaternions.

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 46 / 47

slide-47
SLIDE 47

Commutative multiplication is possible only on R1 and R2 and it yields the number systems R and C. Associative, but noncommutative, multiplication is possible only on R4, and it yields the quaternions H. Alternative, but nonassociative, multiplication is possible only on R8, and it yields a system called the octonions O. Partial associativity law called cancellation or alternativity a−1(ab) = b = (ba)a−1

Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 47 / 47