Geometric Algebra Primer
Jaap Suter
March 12, 2003
Abstract
Adopted with great enthusiasm in physics, geometric algebra slowly emerges
in computational science. Its elegance and ease of use is unparalleled. By
introducing two simple concepts, the multivector and its geometric product,
we obtain an algebra that allows subspace arithmetic. It turns out that being
able to ‘calculate’ with subspaces is extremely powerful, and solves many of the
hacks required by traditional methods. This paper provides an introduction to
geometric algebra. The intention is to give the reader an understanding of the
basic concepts, so advanced material becomes more accessible.
c
Copyright ° 2003 Jaap Suter. Permission to make digital or hard copies of
part of this work for personal or classroom use is granted without fee provided
that copies are not made or distributed for profit or commercial advantage and
that copies bear this notice and the full citation. Abstracting with credit is per-
mitted. To copy otherwise, to republish, to post on servers, or to redistribute to
lists, requires prior specific permission and/or a fee. Request permission through
email at clifford@jaapsuter.com. See http://www.jaapsuter.com for more infor-
mation.
Contents
1 Introduction 4
1.1 Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Subspaces 6
2.1 Bivectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 The Euclidian Plane . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Three Dimensions . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Trivectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Blades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Geometric Algebra 16
3.1 The Geometric Product . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Multivectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 The Geometric Product Continued . . . . . . . . . . . . . . . . . 18
3.4 The Dot and Outer Product revisited . . . . . . . . . . . . . . . 22
3.5 The Inner Product . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6 Inner, Outer and Geometric . . . . . . . . . . . . . . . . . . . . . 25
4 Tools 27
4.1 Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 The Inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Pseudoscalars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4 The Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.5 Projection and Rejection . . . . . . . . . . . . . . . . . . . . . . . 31
4.6 Reflections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.7 The Meet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5 Applications 37
5.1 The Euclidian Plane . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.1 Complex Numbers . . . . . . . . . . . . . . . . . . . . . . 37
5.1.2 Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1
5.1.3 Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Euclidian Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.1 Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.2 Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.3 Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.3 Homogeneous Space . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3.1 Three dimensional homogeneous space . . . . . . . . . . . 55
5.3.2 Four dimensional homogeneous space . . . . . . . . . . . . 58
5.3.3 Concluding Homogeneous Space . . . . . . . . . . . . . . 60
6 Conclusion 61
6.1 The future of geometric algebra . . . . . . . . . . . . . . . . . . . 62
6.2 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2
List of Figures
2.1 The dot product . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Vector a extended along vector b . . . . . . . . . . . . . . . . . . 7
2.3 Vector b extended along vector a . . . . . . . . . . . . . . . . . . 7
2.4 A two dimensional basis . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 A 3-dimensional bivector basis . . . . . . . . . . . . . . . . . . . 10
2.6 A Trivector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7 Basis blades in 2 dimensions . . . . . . . . . . . . . . . . . . . . . 14
2.8 Basis blades in 3 dimensions . . . . . . . . . . . . . . . . . . . . . 14
2.9 Basis blades in 4 dimensions . . . . . . . . . . . . . . . . . . . . . 14
3.1 Multiplication Table for basis blades in C` . . . . . . . . . . . . 21
2
3.2 Multiplication Table for basis blades in C` . . . . . . . . . . . . 22
3
3.3 The dot product of a bivector and a vector . . . . . . . . . . . . 24
4.1 Projection and rejection of vector a in bivector B . . . . . . . . . 32
4.2 Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3 The Meet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.1 Lines in the Euclidian plane . . . . . . . . . . . . . . . . . . . . . 42
5.2 Rotation in an arbitrary plane . . . . . . . . . . . . . . . . . . . 44
5.3 An arbitrary rotation . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.4 A rotation using two reflections . . . . . . . . . . . . . . . . . . . 51
5.5 A two dimensional line in the homogeneous model . . . . . . . . 56
5.6 An homogeneous intersection . . . . . . . . . . . . . . . . . . . . 57
3
Chapter 1
Introduction
1.1 Rationale
Information about geometric algebra is widely available in the field of physics.
Knowledge applicable to computer science, graphics in particular, is lacking. As
Leo Dorst [1] puts it:
“. . . A computer scientist first pointed to geometric algebra as a
promising way to ‘do geometry’ is likely to find a rather confusing
collection of material, of which very little is experienced as imme-
diately relevant to the kind of geometrical problems occurring in
practice. . .
. . . After perusing some of these, the computer scientist may well
wonder what all the fuss is about, and decide to stick with the old
way of doing things . . . ”
And indeed, disappointed by the mathematical obscurity many people dis-
card geometric algebra as something for academics only. Unfortunately they
miss out on the elegance and power that geometric algebra has to offer.
Not only does geometric algebra provide us with new ways to reason about
computational geometry, it also embeds and explains all existing theories in-
cluding complex numbers, quaternions, matrix-algebra, and Plückerspace. Geo-
metric algebra gives us the necessary and unifying tools to express geometry and
its relations without the need for tricks or special cases. Ultimately, it makes
communicating ideas easier.
1.2 Overview
The layout of the paper is as follows; I start out by talking a bit about sub-
spaces, what they are, what we can do with them and how traditional vectors
or one-dimensional subspaces fit in the picture. After that I will define what a
4
geometric algebra is, and what the fundamental concepts are. This chapter is
the most important as all other theory builds upon it. The following chapter
will introduce some common and handy concepts which I call tools. They are
not fundamental, but useful in many applications. Once we have mastered the
fundamentals, and armed with our tools, we can tackle some applications of
geometric algebra. It is this chapter that tries to demonstrate the elegance of
geometric algebra, and how and where it replaces traditional methods. Finally, I
wrap things up, and provide a few references and a roadmap on how to continue
a study of geometric algebra..
1.3 Acknowledgements
I would like to thank David Hestenes for his books [7] [8] and papers [10] and
Leo Dorst for the papers on his website [6]. Anything you learn from this
introduction, you indirectly learned from them.
My gratitude to Per Vognsen for explaining many of the mathematical ob-
scurities that I encountered, and providing me with some of the proofs in this
paper. Thanks to Kurt Miller, Conor Stokes, Patrick Harty, Matt Newport,
Willem De Boer, Frank A. Krueger and Robert Valkenburg for comments. Fi-
nally, I am greatly indebted to Dirk Gerrits. His excellent skills as an editor
and his thorough proofreading allowed me to correct many errors.
1.4 Disclaimer
Of course, any mistakes in this text are entirely mine. I only hope to provide an
easy-to-read introduction. Proofs will be omitted if the required mathematics
are beyond the scope of this paper. Many times only an example or an intuitive
outline will be given. I am certain that some of my reasoning won’t hold in
a thorough mathematical review, but at least you should get an impression.
The enthusiastic reader should pick up some of the references to extend his
knowledge, learn about some of the subtleties and find the actual proofs.
5
Chapter 2
Subspaces
It is often neglected that vectors represent 1-dimensional subspaces. This is
mainly due to the fact that it seems the only concept at hand. Hence we
abuse vectors to form higher-dimensional subspaces. We use them to represent
planes by defining normals. We combine them in strange ways to create oriented
subspaces. Some papers even mention quaternions as vectors on a 4-dimensional
unit hypersphere.
For no apparent reason we have been denying the existence of 2-, 3- and
higher-dimensional subspaces as simple concepts, similar to the vector. Ge-
ometric algebra introduces these and even defines the operators to perform
arithmetic with them. Using geometric algebra we can finally represent planes
as true 2-dimensional subspaces, define oriented subspaces, and reveal the true
identity of quaternions. We can add and subtract subspaces of different dimen-
sions, and even multiply and divide them, resulting in powerful expressions that
can express any geometric relation or concept.
This chapter will demonstrate how vectors represent 1-dimensional subspaces
and uses this knowledge to express subspaces of arbitrary dimensions. However,
before we get to that, let us consider the very basics by using a familiar example.
a
b
Figure 2.1: The dot product
What if we project a 1-dimensional subspace onto another? The answer is
well known; For vectors a and b, the dot product a · b projects a onto b resulting
in the scalar magnitude of the projection relative to b’s magnitude. This is
6
depicted in figure 2.1 for the case where b is a unit vector.
Scalars can be treated as 0-dimensional subspaces. Thus, the projection of
a 1-dimensional subspace onto another results in a 0-dimensional subspace.
2.1 Bivectors
Geometric algebra introduces an operator that is in some ways the opposite of
the dot product. It is called the outer product and instead of projecting a vector
onto another, it extends a vector along another. The ∧ (wedge) symbol is used
to denote this operator. Given two vectors a and b, the outer product a ∧ b is
depicted in figure 2.2. a b
Figure 2.2: Vector a extended along vector b
The resulting entity is a 2-dimensional subspace, and we call it a bivector.
It has an area equal to the size of the parallelogram spanned by a and b and an
orientation depicted by the clockwise arc. Note that a bivector has no shape.
Using a parallelogram to visualize the area provides an intuitive way of under-
standing, but a bivector is just an oriented area, in the same way a vector is
just an oriented length. a
b
Figure 2.3: Vector b extended along vector a
If b were extended along a the result would be a bivector with the same area
but an opposite (ie. counter-clockwise) orientation, as shown in figure 2.3. In
mathematical terms; the outer product is anticommutative, which means that:
a ∧ b = −b ∧ a (2.1)
7
With the consequence that: a ∧ a =0 (2.2)
which makes sense if you consider that a ∧ a = −a ∧ a and only 0 equals its own
negation (0 = -0). The geometrical interpretation is a vector extended along
itself. Obviously the resulting bivector will have no area.
Some other interesting properties of the outer product are:
(λa) ∧ b = λ(a ∧ b) associative scalar multiplication (2.3)
λ(a ∧ b) = (a ∧ b)λ commutative scalar multiplication (2.4)
a ∧ (b + c) = (a ∧ b) + (a ∧ c) distributive over vector addition (2.5)
For vectors a, b and c and scalar λ. Drawing a few simple sketches should
convince you, otherwise most of the references provide proofs.
2.1.1 The Euclidian Plane
Given an n-dimensional vector a there is no way to visualize it until we see a
decomposition onto a basis (e , e , ...e ). In other words, we express a as a linear
1 2 n
combination of the basis vectors e . This allows us to write a as an n-tuple of
i
real numbers, e.g. (x, y) in two dimensions, (x, y, z) in three, etcetera. Bivectors
are much alike; they can be expressed as linear combinations of basis bivectors.
2
To illustrate, consider two vectors a and b in the Euclidian Plane R . Figure
2.4 depicts the real number decomposition a = (α , α ) and b = (β , β ) onto
1 2 1 2
the basis vectors e and e .
1 2
Written down, this decomposition looks as follows:
a = α e + α e
1 1 2 2
b = β e + β e
1 1 2 2
The outer product of a and b becomes:
a ∧ b = (α e + α e ) ∧ (β e + β e )
1 1 2 2 1 1 2 2
Using (2.5) we may rewrite the above to:
a ∧ b =(α e ∧ β e )+
1 1 1 1
(α e ∧ β e )+
1 1 2 2
(α e ∧ β e )+
2 2 1 1
(α e ∧ β e )
2 2 2 2
Equation (2.3) and (2.4) tell us we may reorder the scalar multiplications to
obtain: a ∧ b =(α β e ∧ e )+
1 1 1 1
(α β e ∧ e )+
1 2 1 2
(α β e ∧ e )+
2 1 2 1
(α β e ∧ e )
2 2 2 2
8
β b
2
α a
2
e
2 I e β α
1 1 1
Figure 2.4: A two dimensional basis
Now, recall equation (2.2) which says that the outer product of a vector with
itself equals zero. Thus we are left with:
a ∧ b =(α β e ∧ e )+
1 2 1 2
(α β e ∧ e )
2 1 2 1
Now take another look at figure 2.4. There, I represents the outer product
e ∧ e . This will be our choice for the basis bivector. Because of (2.1) this
1 2
means that e ∧ e = −I. Using this information in the previous equation, we
2 1
obtain: a ∧ b = (α β − α β )I (2.6)
1 2 2 1
Which is how to calculate the outer product of two vectors a = (α , α ) and
1 2
b = (β , β ). Thus, in two dimensions, we express bivectors in terms of a basis
1 2
bivector called I. In the Euclidian plane we use I to represent e = e ∧ e .
12 1 2
9
2.1.2 Three Dimensions
3
In 3-dimensional space R , things become more complicated. Now, the orthog-
onal basis consists of three vectors: e , e , and e . As a result, there are three
1 2 3
basis bivectors. These are e ∧ e = e , e ∧ e = e , and e ∧ e = e , as
1 2 12 1 3 13 2 3 23
depicted in figure 2.5. e ∧ e
2 3
e
2 e e ∧ e
3 1 3
e ∧ e
1 2 e 1
Figure 2.5: A 3-dimensional bivector basis
It is worth noticing that the choice between using either e or e as a
ij ji
basis bivector is completely arbitrary. Some people prefer to use {e , e , e }
12 23 31
because it is cyclic, but this argument breaks down in four dimensions or higher;
e.g. try making {e , e , e , e , e , e } cyclic. I use {e , e , e } because it
12 13 14 23 24 34 12 13 23
solves some issues [12] in computational geometric algebra implementations.
The outer product of two vectors will result in a linear combination of the
three basis bivectors. I will demonstrate this by using two vectors a and b:
a = α e + α e + α e
1 1 2 2 3 3
b = β e + β e + α e
1 1 2 2 3 3
The outer product a ∧ b becomes:
a ∧ b = (α e + α e + α e ) ∧ (β e + β e + β e )
1 1 2 2 3 3 1 1 2 2 3 3
10
Using the same rewrite rules as in the previous section, we may rewrite this to:
a ∧ b =α e ∧ β e + α e ∧ β e + α e ∧ β e +
1 1 1 1 1 1 2 2 1 1 3 3
α e ∧ β e + α e ∧ β e + α e ∧ β e +
2 2 1 1 2 2 2 2 2 2 3 3
α e ∧ β e + α e ∧ β e + α e ∧ β e
3 3 1 1 3 3 2 2 3 3 3 3
And reordering scalar multiplication:
a ∧ b =α β e ∧ e + α β e ∧ e + α β e ∧ e +
1 1 1 1 1 2 1 2 1 3 1 3
α β e ∧ e + α β e ∧ e + α β e ∧ e +
2 1 2 1 2 2 2 2 2 3 2 3
α β e ∧ e + α β e ∧ e + α β e ∧ e
3 1 3 1 3 2 3 2 3 3 3 3
Recalling equations (2.1) and (2.2), we have the following rules for i 6 = j:
e ∧ e = 0 outer product with self is zero
i i
e ∧ e = e outer product of basis vectors equals basis bivector
i j ij
e ∧ e = −e anticommutative
j i ij
Using this, we can rewrite the above to the following: (2.7)
a ∧ b = (α β − α β )e + (α β − α β )e + (α β − α β )e
1 2 2 1 12 1 3 3 1 13 2 3 3 2 23
which is the outer product of two vectors in 3-dimensional Euclidian space.
For some, this looks remarkably like the definition of the cross product. But
they are not the same. The outer product works in all dimensions, whereas
1
the cross product is only defined in three dimensions. Furthermore, the cross
product calculates a perpendicular subspace instead of a parallel one. Later
2
we will see why this causes problems in certain si
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
7 PCR e progettazione primer e primer degenerati
-
Geometria e Algebra - algebra lineare
-
Geometria e Algebra - Appunti ed esami svolti Geometria e Algebra
-
Teoria sparsa Algebra lineare - Schemi e mappe concettuali di Algebra lineare e geometria analitica