Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio...

40
Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1 / 40

Transcript of Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio...

Page 1: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Geometric Fundamentals in RoboticsVectors

Basilio Bona

DAUIN – Politecnico di Torino

July 2009

B. Bona (DAUIN) Vectors July 2009 1 / 40

Page 2: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

1. Geometrical vectors

A geometrical vector p represents a point P in space.

The point P is an abstraction that often, but not always, requires arepresentation.

Vector representations are given wrt a reference frame (see below)

If P ∈ R3 (a 3D space) then

pa ∈ R3 =

px

py

pz

a

p1

p2

p3

a

pi is the vector i -th coordinate wrt the chosen reference frame Ra.

B. Bona (DAUIN) Vectors July 2009 2 / 40

Page 3: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Affine geometry

To treat points as vectors in linear (vector) spaces implies the definition ofa zero point (the origin), i.e., a point with particular privilegedcharacteristics. Since, in many applications, this is not always the case, aparticular geometry that is “origin-free” has been set up.

It is called affine geometry and is defined on affine spaces.

Affine geometry is at the base of projective geometry and perspectivetransforms, as well as homogeneous vectors.

It will not be considered in the present context; the interested reader canfind more details in [05].

B. Bona (DAUIN) Vectors July 2009 3 / 40

Page 4: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

2. Physical vectors

A physical vector−→QP represents a physical quantity, such as linear or

angular velocity, gravitational acceleration, force, torque, etc.

A physical vectors is an oriented segment (aka directed line segment), withan application point Q that can be free or constrained, a direction and amagnitude.−→QP may be reference-free (as, e.g., a physical entity independent from theway we represent it, and from an origin), but we are usually representing itby a vector

vqp ∈ R3 = p−q =

p1−q1

p2−q2

p3−q3

v1

v2

v3

that is the difference ot two geometrical vectors

p ↔ P q ↔ Q

Example: the local gravitational acceleration has direction and magnitudethat are “absolute”, since they do not depend on the reference framechosen

B. Bona (DAUIN) Vectors July 2009 4 / 40

Page 5: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Physical vectors

Figure: Physical vectors.

B. Bona (DAUIN) Vectors July 2009 5 / 40

Page 6: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Physical vectors

We represents physical vectors with an icon; the most used icon is anarrow.

Figure: The vector icon.

This icon is sometimes misleading, as we will see, considering thesymmetry properties of the physical vectors.

B. Bona (DAUIN) Vectors July 2009 6 / 40

Page 7: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Polar vectors

Polar vectors (see [01]) are physical vectors that are symmetrical wrt areflection through a parallel plane, and are antisymmetrical wrt a reflectionthrough a perpendicular plane. Examples of physical polar vectors aredisplacements, linear velocities and forces.

Figure: The polar vector.

B. Bona (DAUIN) Vectors July 2009 7 / 40

Page 8: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Axial vectors

Axial vectors are physical vectors that are antisymmetrical wrt a reflectionthrough a parallel plane, and are symmetrical wrt a reflection through aperpendicular plane. Examples of physical axial vectors are angularvelocities and torques.

Figure: The axial vector.

B. Bona (DAUIN) Vectors July 2009 8 / 40

Page 9: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

3. Mathematical vectors

Mathematical vectors are abstract entities belonging to vector spaces.

Vector Space

Given a field F = {F ;+, ·}, a vector space V(F ), is the set of elements,called vectors, that satisfies the following axiomatic properties:

Vector sum: the operation +, called vector sum, is defined so that{V(F );+} is a commutative (abelian) group; the identity element iscalled 0;

v+0 = v

Product by a scalar: For each α ∈ F and each v ∈ V(F ), it exists avector αv ∈ V(F );

B. Bona (DAUIN) Vectors July 2009 9 / 40

Page 10: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Vector space

For each α ,β ∈ F and each v,w ∈ V(F ) the following relations hold true:

associative property wrt product by a scalar:

α(βv) = (αβ )v

existence of the identity wrt product by a scalar:

1(v) = v; ∀v

distributive property wrt vector sum:

α(v+w) = αv+ αw

distributive property wrt product by a scalar:

(α + β )v = αv+ βv

B. Bona (DAUIN) Vectors July 2009 10 / 40

Page 11: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Linear functions and dual spaces

Given two vector spaces, V(F ) and U(F ), both defined on the same fieldF , a function f : V → U is linear, if, for every v,w ∈ V and λ ∈ F thefollowing axioms are true:

f (v+w) = f (v)+ f (w) = f v+ f wf (λv) = λ f (v) = λ f v

The linear function L : U → U is also called linear operator, lineartransformation, linear application or endomorphism.

The set of all linear functions L : U → V defines a linear vector spaceL(F ).

The set of all linear function calL from V(F ) to F (where usuallyF = R) L : V → R, defines a dual vector space, called V

∗(F ).

Given a vector v ∈ V(F ), the simplest example of dual vector v∗ ∈ V∗(F )

isv ∗1v1 + · · ·+ v ∗

nvn = 〈v,v∗〉 = 〈v∗,v〉; f := v∗ =[

v ∗1 · · · v ∗

n

]

B. Bona (DAUIN) Vectors July 2009 11 / 40

Page 12: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Scalar product

The definition of vector spaces does not include a product betweenelements of the space. But when a metric is necessary, usually it is the oneinduced by the scalar product.

Given two physical vectors a =−→QP,b =

−→SR, the scalar product or inner

product a ·b is a real number defined (geometrically) as:

a ·b = ‖a‖ ‖b‖ cosθ

where ‖a‖ is the vector length and θ , (0◦ ≤ θ ≤ 180◦) is the angle betweena and b; some indicate the product as 〈a,b〉 (see also dual spaces).

Given two mathematical vectors x,y ∈ V(R) the scalar product is definedas

x ·y = ∑k

akbk = xTy

B. Bona (DAUIN) Vectors July 2009 12 / 40

Page 13: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Properties:

distributive wrt sum (x+y) ·z = x ·z+y ·zdistributive wrt product by scalar α(x ·y) = (αx) ·y = x · (αy)commutative x ·y = y ·xpositive x ·x > 0, ∀x 6= 0;x ·x = 0 iff x = 0

Geometrical (physical) definition implies the concepts of angle and length,while in the mathematical setting norm is a quantity derived by the scalarproduct

‖x‖ =√

x ·x =√

∑k

x2k

=√

xTx

and the angle between x and y is defined as

θ = cos−1

(

x ·y‖x‖ ‖y‖

)

B. Bona (DAUIN) Vectors July 2009 13 / 40

Page 14: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Cross product

Scalar product · acts between two vectors and produces a scalar; in generalwe would like to define a product that produces a vector.

If we stay in the 3D case, we can define the cross product, aka externalproduct, vectorial product.

Given two physical 3D vectors a =−→QP ,b =

−→SR, the cross product

c = a×b is a vector orthogonal to the plane of a,b, whose length is

‖c‖ = ‖a‖‖b‖ sinθwhere θ is the minimum angle that takes a to b counterclockwise(right-hand rule).

Given two mathematical vectors

x =[

x1 x2 x3

]T, y =

[

y1 y2 y3

]T, with x,y ∈ R

3

the cross product x×y is a vector z such that

z = x×y =

x2y3− x3y2

x3y1− x1y3

x1y2− x2y1

B. Bona (DAUIN) Vectors July 2009 14 / 40

Page 15: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

This relation can be written as

z = x×y =

x2y3− x3y2

x3y1− x1y3

x1y2− x2y1

=

0 −x3 x2

x3 0 −x1

−x2 x1 0

y1

y2

y3

= S(x)y

where S(x) is a antisymmetric (skew-symmetric) matrix.

Cross Product Properties:

anticommutative x×y = −(y×x)distributive wrt sum x× (y+ z) = (x×y)distributive wrt product by a scalar α (x×y) = (αx)×y = x× (αy)non associative x× (y× z) 6= (x×y)× z

Jacobi identity

a× (b×c)+b× (c×a)+c× (a×b) = 0

B. Bona (DAUIN) Vectors July 2009 15 / 40

Page 16: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Given three 3D vectors x,y,z, the triple product is a non associativeproduct:

x× (y× z) 6= (x×y)× z

where (Grassmann identities):

x× (y× z) = (x ·z)y− (x ·y)z(x×y)× z = (x ·z)y− (y ·z)x

The following relation (between scalars) holds as well

(x×y) ·z = −(z×y) ·x

The cross product is only defined in R3; in order to generalize it in higher

dimensional spaces n > 3 it is necessary to introduce the Clifford Algebras.

B. Bona (DAUIN) Vectors July 2009 16 / 40

Page 17: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Dyadic Product

Given two vectors x, y ∈ Rn, the dyadic product is defined as

x⊗y = xyT = D(x,y) =

x1y1 · · · x1yn... xiyi

...xny1 · · · xnyn

Properties

(αx)⊗y = x⊗ (αy) = α(x⊗y)x⊗ (y+ z) = x⊗y+x⊗ z(x+y)⊗ z = x⊗y+x⊗ z(x⊗y)z = x(y ·z)x(y⊗ z) = (x ·y)z

B. Bona (DAUIN) Vectors July 2009 17 / 40

Page 18: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Some texts call this product external product, adding “noise” to thenomenclature, since the external product is another type of productintroduce by Grassmann.

The product is non commutative: xyT 6= yxT, since

D(x,y) = DT(y,x)

The matrix D has always rank ρ(D) = 1, whatever its dimension n.

Relations between dyadic and cross product

x× (y× z) = [(x ·z) I− z⊗x]y(x×y)× z = [(x ·z) I−x⊗ z]y

It is interesting to note that, while the cross product is only defined for 3Dvectors, the right terms are defined for any dimension n.

B. Bona (DAUIN) Vectors July 2009 18 / 40

Page 19: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Other vector products

Since the scalar product does not produce a vector, and the cross productis non-commutative, but also non-associative, there was the necessity todefine a product ab between vectors possessing the majority of propertiesof an ordinary product, i.e., the associative and distributive properties,while the commutativity was not deemed essential.

Moreover the norm equality must be true, i.e., ‖ab‖ = ‖a‖‖b‖.Many products were defined with these properties, but the two mostcommon (in computer vision, kinematics, and quantum physics) are theHamilton product and the Clifford product.

B. Bona (DAUIN) Vectors July 2009 19 / 40

Page 20: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Hamilton product

Hamilton product finds its reason in the context of quaternion product.

The product c = ab is axiomatically defined as

c = ab = −a ·b+a×b

This product has now only an historical significance, since it has theunpleasant characteristic to produce a negative number for the product ofa vector by itself

aa = −a ·a+a×a = −‖a‖2

B. Bona (DAUIN) Vectors July 2009 20 / 40

Page 21: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Clifford Product

As reported in [04], a vector product satisfying the same axioms of the realnumbers product (distributivity, associativity and commutativity) does notexist for vector spaces with dimension n ≥ 3.

Dropping the commutativity axiom, it is possible to define the Cliffordproduct (from William Clifford, 1845-1879).

It allows to extend the cross (external) product to vector spaces Rn,n > 3.

Indeed the Clifford product was already introduced some years before byHermann Grassmann, the inventor of the exterior algebra.

B. Bona (DAUIN) Vectors July 2009 21 / 40

Page 22: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Bivectors

Starting from R2, given two vectors a = a1i+ a2j, and b = b1i+b2j,

Clifford product is defined as:

ab = a1b1 + a2b2 +(a1b2− a2b1)e12 = a ·b+(a1b2− a2b1)e12

where e12 is a bivector and is to be understood as the signed unit area ofthe parallelogram with sides i and j.

This is analog to the cross product i× j, apart that this last is an axialvector orthogonal to the i, j plane, while the former is a so-called patch ofthe same plane as shown in Figure.

Figure: The bivector e12 in R3.B. Bona (DAUIN) Vectors July 2009 22 / 40

Page 23: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

The Clifford product is often written using the symbols introduced byGrassmann, i.e.,

ab = a ·b+a∧b

where a∧b = (a1b2− a2b1)i∧ j is the so called wedge product or exteriorproduct that shall not be confused with the cross product a×b.

As said before, a∧b is a directed area, while a×b is an axial vector.

Moreover, while a×b is undefined outside R3, the wedge product can be

defined for any n-dimensional space Rn, where it can be interpreted as an

area patch, a volume patch, a higher dimensional patch, etc.

B. Bona (DAUIN) Vectors July 2009 23 / 40

Page 24: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

In R3 if one assumes that the following identity holds:

cc = c2 = c ·c where · is the scalar product

assuming c = a+b, then:

(a+b)(a+b) = (a+b) · (a+b)aa+ab+ba+bb = a ·a+a ·b+b ·a+b ·ba2 +ab+ba+b2 = a2 +2a ·b+b2

henceab+ba = 2a ·b

and finallyab = 2a ·b−ba

B. Bona (DAUIN) Vectors July 2009 24 / 40

Page 25: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Applications – Differential geometry

One of the principal applications of the exterior algebra is in differentialgeometry where it is used to define the bundle of differential forms on asmooth manifold.

In the case of a (pseudo-)Riemannian manifold, the tangent spaces comeequipped with a natural quadratic form induced by the metric. Thus, onecan define a Clifford bundle in analogy with the exterior bundle. This has anumber of important applications in Riemannian geometry.

Perhaps more importantly is the link to a spin manifold, its associatedspinor bundle and spinor manifolds.

B. Bona (DAUIN) Vectors July 2009 25 / 40

Page 26: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Applications – Physics

Clifford algebras have numerous important applications in physics.Physicists usually consider a Clifford algebra to be an algebra spanned bythe so-called Dirac matrices

γ1, . . . ,γ4

whereγiγj + γjγi = 2ηij I

where η =[

ηij

]

is the matrix of a quadratic form, having signature (p,q),typically (1,3) when working in Minkowski space (i.e., (+,−,−,−)).

The Dirac matrices were first written down by Paul Dirac when he wastrying to write a relativistic first-order wave equation for the electron, andprovide an explicit isomorphism from the Clifford algebra to the algebra ofcomplex matrices. The result was used to define the Dirac equation andintroduce the Dirac operator.

The entire Clifford algebra shows up in quantum field theory in the form ofDirac field bilinears.

B. Bona (DAUIN) Vectors July 2009 26 / 40

Page 27: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

In mathematical physics, the gamma matrices, γ1,γ2,γ3,γ4, also known asthe Dirac matrices, are a set of conventional matrices with specificanticommutative relations that ensure they generate a matrixrepresentation of the Clifford algebra Cℓ1,3. When interpreted as thematrices of the action of a set of orthogonal basis vectors for contravariantvectors in Minkowski space, the column vectors on which the matrices actbecome a space of spinors, on which the Clifford algebra of space timeacts.

Spinors facilitate space-time computations in general, and in particular arefundamental to the Dirac equation for relativistic spin-1/2 particles. InDirac representation, the four contravariant gamma matrices are

γ1 =

1 0 0 00 1 0 00 0 −1 00 0 0 −1

; γ2 =

0 0 0 10 0 1 00 −1 0 0−1 0 0 0

γ3 =

0 0 0 −j0 0 j 00 j 0 0−j 0 0 0

; γ4 =

0 0 1 00 0 0 −1−1 0 0 00 1 0 0

B. Bona (DAUIN) Vectors July 2009 27 / 40

Page 28: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Applications – Computer Vision

Recently, Clifford algebras have been applied in the problem of actionrecognition and classification in computer vision. Some authors propose aClifford embedding to generalize traditional MACH filters to video (3Dspatiotemporal volume), and vector-valued data such as optical flow.

Vector-valued data is analyzed using the Clifford Fourier transform. Basedon these vectors action filters are synthesized in the Clifford Fourierdomain and recognition of actions is performed using Clifford Correlation.The authors demonstrate the effectiveness of the Clifford embedding byrecognizing actions typically performed in classic feature films and sportsbroadcast television.

B. Bona (DAUIN) Vectors July 2009 28 / 40

Page 29: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Antisymmetric matrices

Antisymmetric matrix

A square matrix S is called antisymmetric or skew-symmetric when

S+ST = O or S = −ST

A antisymmetric matrix has the following structure

An×n =

0 s12 · · · s1n−s12 0 · · · s2n

......

. . ....

−s1n −s2n · · · 0

Therefore there it has at mostn(n−1)

2independent elements.

B. Bona (DAUIN) Vectors July 2009 29 / 40

Page 30: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Antisymmetric matrices

For n = 3 it resultsn(n−1)

2= 3, hence an antisymmetric matrix has as

many element as a 3D vector v.

Given a vector v =[

v1 v2 v3

]Tit is possible to build S, and given a

matrix S it is possible to extract the associated vector v.

We indicate this fact using the symbol S(v), where, by convention

S(v) =

0 −v3 v2

v3 0 −v1

−v2 v1 0

B. Bona (DAUIN) Vectors July 2009 30 / 40

Page 31: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Antisymmetric matrices

Some properties:

Given any vector v ∈ R3:

ST(v) = −S(v) = S(−v)

Given two scalars λ1,λ2 ∈ R:

S(λ1u+ λ2v) = λ1S(u)+ λ2S(v)

Given any two vectors v,u ∈ R3:

S(u)v = u×v = −v×u = S(−v)u = ST(v)u

Therefore S(u) is the representation of the operator (u×) andviceversa.

B. Bona (DAUIN) Vectors July 2009 31 / 40

Page 32: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Antisymmetric matrices

The matrix S(u)S(u) = S2(u) is symmetrical and

S2(u) = uuT−‖u‖2I

Hence the dyadic product can be written as

D(u,u) = uuT = S2(u)+‖u‖2I

B. Bona (DAUIN) Vectors July 2009 32 / 40

Page 33: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Eigenvalues and eigenvectors of antisymmetric matrices

Given an antisymmetric matrix S(v), its eigenvalues are

λ1 = 0, λ2,3 = ±j‖v‖

The eigenvalue related to the eigenvector λ1 = 0 is v; the other two arecomplex conjugate.

The set of antisymmetric matrices is a vector space, denoted as so(3).

Given two antisymmetric matrices S1 and S2, we call commutator or Liebracket the following operator

[S1,S2]def= S1S2−S2S1

that is itself antisymmetric.

Antisymmetric matrices form a Lie algebra, which is related to the Liegroup of orthogonal matrices.

B. Bona (DAUIN) Vectors July 2009 33 / 40

Page 34: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Orthogonal matrices

A square matrix A ∈ Rn is called orthogonal when

ATA =

α1 0 · · · 00 α2 · · · 0...

.... . .

...0 0 · · · αn

with αi 6= 0.

A square orthogonal matrix U ∈ Rn is called orthonormal when all the

constants αi are 1:UTU = UUT = I

ThereforeU−1 = UT

B. Bona (DAUIN) Vectors July 2009 34 / 40

Page 35: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Orthonormal matrices

Other properties:

The columns, as well as the rows, of U are orthogonal to each otherand have unit norm.

‖U‖ = 1;

The determinant of U has unit module:

|det(U)| = 1

therefore it can be +1 or −1.

Given a vector x, its orthonormal transformation is y = Ux.

B. Bona (DAUIN) Vectors July 2009 35 / 40

Page 36: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Orthonormal matrices

If U is an orthonormal matrix, then ‖AU‖ = ‖UA‖ = ‖A‖.This property in general valid also for unitary matrices, i.e., those definedas U∗U = I.

When U ∈ R3×3, only 3 out of its 9 elements are independent.

Scalar product is invariant to orthonormal transformations,

(Ux) · (Uy) = (Ux)T(Uy) = xTUTUy = xTy = x ·y

This means that vector lengths are invariant wrt orthonormaltrasformations

‖Ux‖ = (Ux)T(Ux) = xTUTUx = xTIx = xTx = ‖x‖

B. Bona (DAUIN) Vectors July 2009 36 / 40

Page 37: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Orthonormal matrices

When considering orthonormal transformations, it is important todistinguish the two cases:

When det(U) = +1, U represents a proper rotation or simply arotation,

when det(U) = −1, U represents an improper rotation or reflection.

The set of rotations forms a continuous non-commutative (wrt product)group; the set of reflections do not have this “quality”.

Intuitively this means that infinitesimal rotations exist, while infinitesimalreflections do not have any meaning.

Nonetheless, reflections are the most basic transformation in 3D spaces, inthe sense that translations, rotations and roto-reflections (slidings) areobtained from the composition of two or three reflections

B. Bona (DAUIN) Vectors July 2009 37 / 40

Page 38: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Figure: Reflections producing rotations and translation in R2.

B. Bona (DAUIN) Vectors July 2009 38 / 40

Page 39: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

Orthonormal matrices

If U is an orthonormal matrix, the distributive property wrt the crossproduct holds:

U(x×y) = (Ux)× (Uy)

(with general A matrices this is not true).

For any proper rotation matrix U and a generic vector x the following holds

US(x)UTy = U(

x× (UTy))

= (Ux)× (UUTy)

= (Ux)×y = S(Ux)y

where S(x) is the antisymmetric matrix associated with x; therefore:

US(x)UT = S(Ux)US(x) = S(Ux)U

B. Bona (DAUIN) Vectors July 2009 39 / 40

Page 40: Geometric Fundamentals in Robotics Vectors · Geometric Fundamentals in Robotics Vectors Basilio Bona DAUIN – Politecnico di Torino July 2009 B. Bona (DAUIN) Vectors July 2009 1

References

[01] S.L. Altmann, Icons and Symmetries, Clarendon Press, 1992.

[02] Van Der Ha, Shuster, A Tutorial on Vectors and Attitude.

[03] K. Janich, Linear Algebra, Springer, 1994.

[04] J. Stillwell, Mathematics and Its History, Springer, 2002.

[05] J. Gallier, Geometric Methods and Applications, Springer, 2001.

B. Bona (DAUIN) Vectors July 2009 40 / 40