geometric fundamentals in robotics quaternions · geometric fundamentals in robotics quaternions...
TRANSCRIPT
Geometric Fundamentals in RoboticsQuaternions
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 Hamilton, who waslooking for the extension to 3D space of the complex numbers as rotationoperators.
Figure: Sir William Rowland Hamilton (1805-1865) and the plaque on BroomBridge, where the quaternions were discovered.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 2 / 47
Definitions
The generic quaternion will be indicated as q.
Quaternions are elements of a 4D linear space H(R), defined on the realnumbers field F = R, with base {1 i j k}.
i, j and k are ipercomplex numbers that satisfy the followinganticommutative multiplication rules:
i2 = j2 = k2 = ijk = −1ij = −ji = k
jk = −kj = i
ki = −ik = j
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 3 / 47
Definitions
A quaternion q ∈ H is defined as a linear combination expressed in thebase {1 i j k}:
q = q01+q1i+q2j+q3k
where the coefficients {qi}3i=0 are real.
Another way to represent a quaternion is to define it as a quadruple ofreals, (q0,q1,q2,q3)
q = (q0,q1,q2,q3)
in analogy with complex numbers c = a+jb, where c is represented by acouple of reals, c = (a,b),
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 4 / 47
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
Definitions
In analogy with complex numbers that are the sum of a real part and animaginary 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 definedas 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 aquaternion assumes a row representation.
Using the convention that defines vectors as “column” vectors, we canwrite q = (qr , qT
v ).
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 6 / 47
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-handedreference frame.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 7 / 47
Definitions
Multiplication rules between elements i,j,k have the same properties ofthe 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 toindicate 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 vectorialpart; c) a quadruple of reals.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 8 / 47
Definitions
An alternative way to write a quaternion is the following
q = q01+q1i+q2j+q3k
where now
1 =
[
1 00 1
]
; i =
[
i 00 −i
]
; j =
[
0 1−1 0
]
; k =
[
0 ii 0
]
;
and i2 = −1.
Hence every matrix is of the form
[
c d−d∗ c∗
]
;
These matrices are called Cayley matrices [see Rotations - Pauli spinmatrices].
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 9 / 47
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 theopposite 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
Quaternions algebra
a non-negative function, called quaternion norm exists ‖q‖, defined as
‖q‖2 = qq∗ = q∗q=3
∑ℓ=0
q2ℓ = q2
0 +qTv 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 conjugateof 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
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
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
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
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 = hTv gv = gT
v hv
defined in Rn, and hv ×gv is the cross product (defined only in R
3)
hv ×gv =
h2g3−h3g2
h3g1−h1g3
h1g2−h2g1
= S(hv )gv
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 15 / 47
Product
The quaternion product is anti-commutative, since, being
gv ×hv = −hv ×gv
it follows
gh = (hrgr −hv ·gv , hrgv +grhv −hv ×gv ) 6= hg;
Notice that the real part remains the same, while the vectorial partchanges. Product commutes only if hv ×gv = 0, i.e., when the vectorialparts are parallel.
The conjugate of a quaternion product satisfies
(gh)∗ = h∗g∗.
The product norm satisfies
‖hg‖ = ‖h‖‖g‖ .
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 16 / 47
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
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 −hTv
hv h0I+S(hv)
]
g0
g1
g2
g3
= FL(h)g
or
hg =
g0 −g1 −g2 −g3
g1 g0 g3 −g2
g2 −g3 g0 g1
g3 g2 −g1 g0
h0
h1
h2
h3
=
[
g0 −gTv
gv g0I+S(gv )
]
h0
h1
h2
h3
= FR(g)h
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 18 / 47
Quotient
Since the quaternion product is anti-commutative we must distinguishbetween the left and the right quotient or division.
Given two quaternions h e p, we define the left quotient of p by h thequaternion 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∗
‖h‖2 p; qr = ph∗
‖h‖2
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 19 / 47
Inverse
Given a quaternion q, in principle one must define the right q−1r 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 = ‖q‖2 = ‖q‖‖q∗‖, 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∗
‖q‖2similar to c−1 =
c∗
‖c‖2
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 20 / 47
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−1v = 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
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
Hamilton product
If we multiply two pure quaternions , i.e., two vectors
uv = (0,uv ) = u1i+u2j+u3k
andvv = (0,vv ) = v1i+ v2j+ v3k
we obtainuvvv = (−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 thequaternions were abandoned in favor of vectors.
Nonetheless the quaternion product has an important role in representingrotations.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 23 / 47
Unit quaternions
Before starting to illustrate the relations between quaternions and rotation,we look closer to the properties of the unit quaternions, that we indicatewith the symbol u.
A unit quaternion (‖u‖ = 1) has an unit inverse and the product of twounit quaternions is still a unit quaternion.
We assume that a unit quaternion is represented by a sum of twotrigonometric functions
u = cosθ+usinθ = (cosθ,u sinθ)
where u is a unit norm vector and θ a generic angle.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 24 / 47
Unit quaternions
Notice the analogy with the unit complex number expression
c = cosθ+jsinθ
The analogy applies also to the exponential expression c = ejθ; substitutingx 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 andthe 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
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 touse the standard identities between exponential and logarithms. Forinstance, eu1eu2 it is not necessarily equal to eu1+u2 , and log(u1u2) is notnecessarily equal to log(u1)+ log(u2).
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 26 / 47
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
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 andviceversa, indicating this relation as R(u) ⇔ u.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 28 / 47
Quaternions and Rotations
To compute the rotation matrix R(u) given a unit quaternion u= (u0,u),we use the following relation
R(u) = (u20 −uTu)I+2uuT−2u0S(u) =
u20 +u2
1 −u22 −u2
3 2(u1u2−u3u0) 2(u1u3 +u2u0)
2(u1u2 +u3u0) u20 −u2
1 +u22 −u2
3 2(u2u3−u1u0)
2(u1u3−u2u0) 2(u2u3 +u1u0) u20 −u2
1 −u22 +u2
3
where S(u) is an antisymmetric matrix.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 29 / 47
Quaternions and Rotations
To compute the unit quaternion u = (u0,u) given a rotation matrix R weuse 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
Quaternions and Rotations
Another alternative relation is
u0 =1
2
√
(1+ r11 + r22 + r33)
u1 =1
2sign(r32− r23)
√
(1+ r11− r22− r33)
u2 =1
2sign(r13− r31)
√
(1− r11 + r22− r33)
u3 =1
2sign(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 issingular for u0 = 0
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 31 / 47
Quaternions and Rotations
Elementary rotations around the three principal axes R(i,α), R(j,β) andR(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 toelementary 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
Quaternions and Rotations
Notice an important fact: while the product among the unit basequaternions 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 seemsnatural 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 onlyintroducing a most basic mathematical quantity, called spinor, notdiscussed in the present context
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 33 / 47
Quaternions and Rotations
We shall see now some correspondence between quaternion operations andmatrix operations
Rotation product
Given n rotations R1, R2, · · · , Rn and the corresponding unit quaternionsu1, 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
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 theconjugate unit quaternion u∗ (i.e., the inverse quaternion)
R ⇔ u
RT ⇔ u∗
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 35 / 47
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 thequaternion obtained as
qy = (0,y) = uqxu∗
where∥
∥qy
∥
∥ = ‖qx‖
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 36 / 47
The mapqx 7→ qy = uqxu
∗ ⇔ y = R(u)x
that transforms a pure vector into its rotated counterpart, in quaternionform, is called conjugation by u.
Notice that the transpose map is equivalent to exchange the order of theconjugation
qx 7→ qy = u∗qxu ⇔ y = RT(u)x
Quaternions u and u∗ = u−1 are called antipodal, because they representopposite points on the 3-sphere of unit quaternions.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 37 / 47
Quaternions and Rotations
If we use the homogeneous coordinates to express the vector x
x =[
wx1 wx2 wx3 w]T
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 w]T
⇔ y = R(u)x
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 38 / 47
Quaternions and Rotations
Product matrices
Since the bi-linearity property holds for the product between twoquaternions, 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
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∗) =
q20 +q2
1 −q22 −q2
3 2(q1q2−q3q0) 2(q1q3 +q2q0) 0
2(q1q2 +q3q0) q20 −q2
1 +q22 −q2
3 2(q2q3−q1q0) 0
2(q1q3−q2q0) 2(q2q3 +q1q0) q20 −q2
1 −q22 +q2
3 0
0 0 0 ‖q‖2
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
Quaternions in Aerospace literature
In space applications quaternions are used when dealing with satelliteorientation control; unfortunately they may be “organized” in a differentway wrt to our conventions: often the real part is the last element ofquaternions
q = (q1,q2,q3,q0)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 41 / 47
Historical notes
Hamilton tried to use the quaternions for a unified description ofspace-time physics (before Einstein), considering the real part of thequaternion as the representation of time, and the vectorial part as therepresentation of space q = (t,x ,y ,z).
Unfortunately the quadratic form
q∗q = qq∗ = t2 + x2 + y2 + z2
has the wrong signature (+,+,+,+).
We know that, in special relativity, the Minkowski spacetime standardbasis 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
The development of hyperbolic quaternions in the 1890s prepared the wayfor Minkowski space.
Indeed, as a mathematical structure, Minkowski space can be taken ashyperbolic quaternions minus the multiplicative product, retaining only thebilinear 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
Hamilton tried for many years to extend the complex numbers rotationoperator 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 canyou multiply triplets?”
The problem is that the general result on which he based his reasoning,i.e., the extension of the complex number result
(a21 + a2
2)(b21 +b2
2) = (c21 + c2
2 )
to the R3 space, cannot be solved with triads of numbers, i.e.,
(a21 + a2
2 + a23)(b
21 +b2
2 +b23) 6= (c12 + c2
2 + c23 )
that is the same to ask for the existence ‖a‖‖b‖ = ‖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
The problem is that, while for complex numbers the product result is wellknown
(a1 +ja2)(b1 +jb2) = a1b1 − a2b2 +j(a2b1 + a1b2)
or(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 alreadygiven by Diophantus, that for example, 3 = 11 +12 +12 and5 = 02 +12 +22 are both sums of three squares, but their product 15 isnot. So he persisted for 13 years before discovering that he needed fournumbers, i.e., the quaternions.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternions July 2009 45 / 47
By the way the only number systems with a product satisfying
‖a‖‖b‖ = ‖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
Commutative multiplication is possible only on R1 and R
2 and ityields the number systems R and C.
Associative, but noncommutative, multiplication is possible only onR
4, 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