Geometric Algebra An Introduction With Applications in Euclidean
Geometric Algebra An Introduction With Applications in Euclidean
SJSU ScholarWorks
Fall 2013
Recommended Citation
Miller, Richard Alan, "Geometric Algebra: An Introduction with Applications in Euclidean and Conformal
Geometry" (2013). Master's Theses. 4396.
DOI: https://doi.org/10.31979/etd.chd4-za3f
https://scholarworks.sjsu.edu/etd_theses/4396
This Thesis is brought to you for free and open access by the Master's Theses and Graduate Research at SJSU
ScholarWorks. It has been accepted for inclusion in Master's Theses by an authorized administrator of SJSU
ScholarWorks. For more information, please contact [email protected].
GEOMETRIC ALGEBRA:
A Thesis
Presented to
In Partial Fulfillment
Master of Science
by
Richard A. Miller
December 2013
⃝
c 2013
Richard A. Miller
GEOMETRIC ALGEBRA:
AN INTRODUCTION WITH APPLICATIONS IN EUCLIDEAN
AND CONFORMAL GEOMETRY
by
Richard A. Miller
December 2013
GEOMETRIC ALGEBRA:
AN INTRODUCTION WITH APPLICATIONS IN EUCLIDEAN
AND CONFORMAL GEOMETRY
by Richard A. Miller
It contains examples of how some of the more traditional topics of mathematics can
theorems from geometry. We introduce the conformal model. This is a current topic
graphics and robotics. The appendices provide a list of some of the notational
conventions used in the literature, a reference list of formulas and identities used in
geometric algebra along with some of their derivations, and a glossary of terms.
DEDICATION
v
ACKNOWLEDGEMENTS
to step outside of his comfort zone and venture into uncharted waters with me has
been greatly appreciated. It has been a pleasure learning with you. A big thanks to
my thesis committee members, Professor Richard Kubelka and Professor Wasin So.
Dr. Kubelka has spent hours with me scrutinizing every minute detail of this
document, and for that I am eternally grateful. A special thanks to my Math 100W
write and graciously proofread this document. I would also like to thank all of the
SJSU Mathematics Department instructors whom I’ve had the pleasure of learning
from over the past few years. Thank you to my fellow grad students whose
camaraderie and study groups have helped ease the pain of graduate school. I will
miss you all! And finally, thanks to my wife Denise for allowing me to follow a
dream and putting up with the insecurity of no income while I was in school. I’m
vi
TABLE OF CONTENTS
CHAPTER
1 INTRODUCTION 1
2.5 Scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
vii
3.3 Matrix Representation . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6 Reflections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.7 Rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.8 Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.8.2 Lemmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.1 Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.2.2 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
viii
4.3.1 Duality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
BIBLIOGRAPHY 126
APPENDIX
ix
B.3.4 Inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
B.4.7 u · (v ∧ w) = (u · v) w − (u · w) v . . . . . . . . . . . . . . . . 142
C GLOSSARY 145
x
LIST OF FIGURES
Figure
2.1 Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
xi
3.7 Reflection of u in v. . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
xii
CHAPTER 1
INTRODUCTION
published the book, Space-Time Algebra, a rewrite of his Ph.D. thesis [DL03,
p. 122]. Hestenes had realized that Dirac algebras and Pauli matrices could be
unified in a matrix-free form, which he presented in his book. This was the first
for all of physics. His book applied the long-forgotten geometric product of William
is growing and, while not everyone is in full agreement, it is now hard to find any
area of physics to which geometric algebra cannot or has not been applied without
some degree of success [DL03, p. 124]. Some of the better known successful
many areas? It turns out that geometric algebra provides a generalized theory that
encompasses many of the mathematical topics that have been around for years, such
algebras, and the algebra of differential forms. Geometric algebra provides a method
Geometric algebra traces its history back to the nineteenth century. During
and vectors [DL03]. A common thread to their research was to find the answer to
the question, “Just what does it mean to take the product of two vectors?”
inventor of quaternions. He worked for years trying to extend his theory of complex
numbers to three dimensions [DL03, p. 8-10]. On October 16th , 1843, while out
walking with his wife along the Royal Canal in Dublin, he had an epiphany and
quaternions found favor with physicists like James Clerk Maxwell, they were
weighed down by the increasingly dogmatic arguments over their interpretation and
Gibbs.
oriented plane and today we call it a bivector. Grassmann published the first edition
Hamilton announced his discovery of the quaternions. Grassmann’s work did not
achieve the same impact as the quaternions; however, and it was many years before
was not taken seriously by his contemporaries because he was a high school teacher.
who is credited with the invention of modern vector calculus [Kle08], [DL03,
p. 10,11,17]. He spent the majority of his career at Yale, where he was professor of
mathematical physics from 1871 until his death. Gibbs worked on developing
dot and cross products of two vectors. Gibbs’s lecture notes on vector calculus were
privately printed in 1881 and 1884 for the use of his students and were later adapted
by Edwin Bidwell Wilson into a textbook, Vector Analysis, published in 1901. The
Clifford appears to have been one of the small number of mathematicians at the
geometric algebra by uniting the inner and outer product into a single geometric
product. This product is associative like Grassmann’s product, but has the crucial
extra feature of being invertible. Although his work is often referred to as Clifford
we know it today [DL03, p. 122-124]. Throughout much of his career, he has worked
Hestenes, now retired, is the prime mover behind the contemporary resurgence of
This book presents many of the topics covered in a classical undergraduate physics
uninitiated. Chapter 3 contains examples of how some of the more traditional topics
geometric algebra is a relatively new topic, authors of the literature have not yet
and identities used in geometric algebra, along with some of their derivations.
Geometric algebra is really all about how we multiply vectors, i.e., about the
geometric product and how we interpret that product. Hestenes once wrote that,
It is our belief that geometric algebra is here to stay and may someday be a part of
CHAPTER 2
for the uninitiated. No proofs are provided. This material is intentionally presented
our discussion of geometric algebra to two and three dimensions for simplicity, but
part of the power and beauty of geometric algebra is that it extends to any
physics under one umbrella. For this reason, the theory has been well-developed for
higher dimensions. Much of the material and terminology used in this chapter
When students begin their study of physics, they learn that there are two
types of physical quantities: scalar and vector. Those quantities that have only
magnitude and no direction, like temperature and volume, are called scalar
quantities. Quantities that have both magnitude and direction, like force and
velocity, are called vector quantities. This thesis uses lower case letters a, b, c to
such as force or velocity, as a line segment with an arrowhead at the end. The
7
length of the line segment shows the magnitude of the vector and the arrowhead
indicates the direction (see Figure 2.1a). This visualization of vectors as oriented
lengths is used to introduce the concepts of vector addition and scalar multiplication
w v
v 2v -v
v+w
.5v -.5v
(a) Examples (b) Vector Addition (c) Scalar Multiplication
concept of a vector space. We learn that any set on which vector addition and scalar
Definition 2.1.1.
A vector space V is a set of objects called vectors. There are two operations
defined on V called vector addition and scalar multiplication. There also exists
a zero vector 0. Axioms V0–V7 must be satisfied for all vectors u, v, and w and all
scalars a and b ∈ R (in this thesis, we limit scalars to the field of real numbers):
8
V1: u + v = v + u, commutativity
(a + b)u = au + bu.
Along with this definition of a vector space comes the realization that there
are many different mathematical objects, other than oriented lengths, that qualify
as vectors. Take, for example, the set of all polynomials of order less than or equal
to n, where n is some positive integer. This set is a vector space. The abstraction of
the concept of a vector makes visualization much more difficult. But at the same
time, it vastly increases the range of applications to which the theory can be applied.
Geometric algebra introduces several new vector spaces that have important
significance to geometry. In addition, the direct sum of these vector spaces is also
very important in geometric algebra. The following sections describe these vector
spaces and introduce two new operations, the outer product and the geometric
product.
an initial point and an end point with an arrowhead (see Figure 2.2). The length
end point
v
initial point
Two oriented lengths are said to be equivalent if they have the same attitude,
orientation, and norm. These three properties of an oriented length are important
attitude - Two oriented lengths have the same attitude if they lie on the same line
or on parallel lines.
orientation - Two oriented lengths have the same orientation if they have the same
attitude and their arrows point in the same direction. Thus, v and −v have
opposite orientations.
1
The terms attitude, orientation, and norm for oriented lengths are defined in some detail in
Dorst, Fontijne, and Mann [DFM07, p. 26].
10
norm - Two oriented lengths have the same norm if they have the same length.
oriented lengths.
Definition 2.2.3.
with norm |a| |u|. If a > 0 then au has the same orientation as u. If a < 0
Vector addition: To determine the sum of two oriented lengths v and w, we move
the oriented length w parallel to itself so that its initial point coincides with
the end point of the oriented length v (see Figure 2.3). The sum v + w then
equals the oriented length whose initial point equals the initial point of v and
whose end point equals the end point of the moved oriented length w.
Zero: It is useful to define the zero oriented length, denoted by 0, with the
following properties:
Note that attitude and orientation are not defined for 0; the norm of 0 is 0.
11
w
v
v
0
w v+w
The inner product of the nonzero oriented lengths u and v is the scalar
defined by
where θ is the angle between the oriented lengths when one is moved parallel to itself
so that the initial points of the two oriented lengths coincide (see Figure 2.4). We
v
θ u
Figure 2.4: u · v = |u| |v| cos θ.
I1: u · v = v · u, commutativity
I3: (u + v) · w = u · w + v · w, distributive
w · (u + v) = w · u + w · v,
Now that we have the inner product, we can use it to test if two oriented lengths are
orthogonal.
Vectors u and v are orthogonal if and only if u · v = 0. Note that the zero
such that
0 if i ̸= j;
ei · ej =
1 if i = j.
then {e1 , e2 , e3 } forms an orthonormal basis for the vector space of oriented lengths
vector space is defined to be the the number of elements in any basis for that vector
With this basis, any oriented length v in Euclidean 3-space can be expressed
13
e3
e2
e1
Oriented lengths in R3 satisfy axioms V0–V7 of Definition 2.1.1 and thus form a
would like to turn our attention to the vector space of oriented areas.
“segments” or “regions” of a plane must have well-defined, finite areas. The area of
counterclockwise).
14
Figure 2.6). Just like oriented lengths, two oriented areas B1 and B2 are considered
equivalent (B1 ∼ B2 ) if they have the same attitude, orientation, and norm. The
attitude - Two oriented areas have the same attitude if they lie on the same plane
or on parallel planes.
orientation - Two oriented areas have the same orientation if they have the same
norm - Two oriented areas have the same norm if they have the same area.
B1
B
B1
B
B2
B
B2
B
(a) B1 ∼ B2 (b) B1 B2
Equivalent. Different Attitudes.
B2 B2
B1 B B
B1
oriented lengths u and v in the same plane as B1 . Suppose also that the rectangle,
B1 B2 v
u
Figure 2.8: Equivalent oriented areas.
oriented areas.
Definition 2.3.3.
(1) Suppose that the oriented areas B1 and B2 are in the same or parallel
(2) Suppose that the oriented areas B1 and B2 lie in nonparallel planes. In
Figure 2.10).
17
(b) Construct an oriented length u in the B1 plane such that when the
Zero: The zero oriented area, denoted by 0, has the following properties:
a0 = 0, for all scalars a,
2B B
.5B
-2B
-.5B
Figure 2.9: Scalar multiplication of oriented areas.
3
Note that oriented area addition is similar to finding the diagonal of a parallelogram, but in
this case we are finding the diagonal plane of a parallelepiped.
18
B1+B2
B1
u
u+v
w B2
oriented area. We now formalize this concept by defining the outer product of two
oriented length u, it sweeps out a directed line segment. If this line segment is then
oriented length v, it sweeps out a parallelogram (see Figure 2.11a). Because the
oriented lengths u and v.4 If either of the oriented lengths happens to be zero, or if
they are parallel, then no parallelogram is constructed. In this case we define the
u
v
u^ v v v^ u
u
(a) u ∧ v. (b) v ∧ u.
oriented length u along the length of the oriented length v. Its norm is the area of
the parallelogram with edges u and v. Its orientation can be determined by sliding
the second oriented length v parallel to itself until its initial point touches the end
point of the first oriented length u. The orientation is then visualized as traversing
If either of the oriented lengths happens to be zero, or if they are parallel, then we
define the outer product u ∧ v to be the zero oriented area. A “wedge” is used to
denote this new kind of multiplication to distinguish it from the “dot” denoting the
inner product.
v ∧ u = −(u ∧ v) (see Figure 2.11b). As long as neither oriented length is zero and
they are not parallel, the oriented area generated by an outer product has the shape
20
O4: (u + v) ∧ w = u ∧ w + v ∧ w, distributive
w ∧ (u + v) = w ∧ u + w ∧ v.
Let {b1 , b2 } be an orthonormal basis for a plane that contains the origin, i.e.,
oriented lengths, b1 ∧ b2 forms a 1-by-1 square with area (norm) of one. This is
Theorem 2.3.7.
plane with b1 ∧ b2 . Let u and v be vectors in the plane. Let θ be the oriented angle
from u to v. Then
be two oriented lengths in R3 , where ui and vi are scalars. The outer product u ∧ v
21
The following equation is useful for remembering the calculation of Eq. (2.4).
e2 ∧ e3 e3 ∧ e1 e1 ∧ e2
u∧v = u1 u2 u3 . (2.5)
v1 v2 v3
This calculation is very similar to that of the cross product u × v, only the cross
product results in a vector perpendicular to the plane of u and v, whereas the outer
Theorem 2.3.8.
e3
e 2 ^e 3
e 3 ^e 1
e2
e 1 ^e 2
e1
Proof. Figure 2.8 shows that every oriented area is an outer product of two vectors.
Then Eq. (2.4) shows that the three oriented areas span the space of bivectors. Now
consider
a1 e2 ∧ e3 + a2 e3 ∧ e1 + a3 e1 ∧ e2 = e2 ∧ (a1 e3 − a3 e1 ) + a2 e3 ∧ e1 . (2.6)
The term on the right of the equal sign in Eq. (2.6) is the sum of two oriented areas.
Figure 2.13 can be helpful in visualizing this when ai = 1. According to Figure 2.10,
the sum of two nonzero oriented areas in different planes is nonzero. Therefore, the
sum of the terms in Eq. (2.6) is zero only when a1 = a2 = a3 = 0. Thus, the three
e3-e1
e3 e2^(e3-e1)
e 3 ^e 1
e2
e1
Oriented areas satisfy axioms V0–V7 of Definition 2.1.1 and thus form a
In addition to oriented lengths and oriented areas, we now add a third vector
dimensional space. The volume of T is called its norm, denoted by |T|. We use the
“space segment” is swept out by a moving plane segment. Thus, the points on an
oriented parallelepiped (see Figure 2.14a), which defines a new kind of directed
volume T called an oriented volume. In this way we define the outer product of the
T = (u ∧ v) ∧ w.
w
v u
u
u^ v v^ w w
(a) (u ∧ v) ∧ w. (b) u ∧ (v ∧ w).
5
This description comes from Hestenes [Hes03, p. 26–28].
24
Oriented volumes contain no information about the shape of the solid. Two
oriented volumes are equivalent if they have the same attitude, orientation, and
norm.
attitude - In Euclidean 3-space, there is only one attitude for all oriented volumes.
(u ∧ v) ∧ w, we use the right-hand rule: we curl the fingers of our right hand
left-handed. Two oriented volumes have the same orientation if they have
the same handedness. The volume spanned by e1 , e2 , e3 (in that order), has
the opposite orientation from that spanned by e1 , e2 , −e3 (in that order),
i.e., moving the plane segment e1 ∧ e2 along the line segment e3 has the
opposite orientation from that of moving it along the line segment −e3 .
norm - Two oriented volumes have the same norm if they have the same volume.
need to add one new result, namely, the conclusion that the outer product should
6
The terms attitude, orientation, and norm for oriented volumes are defined in some detail in
Dorst, Fontijne, and Mann [DFM07, p. 33–35].
25
O5: u ∧ (v ∧ w) = (u ∧ v) ∧ w. associativity
its factors. The anticommutative property together with the associative property
imply that exchanging any pair of factors in an outer product reverses the
orientation of the result. From this we can derive the following equalities:
T = u ∧ v ∧ w = v ∧ w ∧ u = w ∧ u ∧ v, (2.7)
−T = u ∧ w ∧ v = v ∧ u ∧ w = w ∧ v ∧ u. (2.8)
u1 u2 u3
u ∧ v ∧ w = v1 v2 v3 (e1 ∧ e2 ∧ e3 ). (2.9)
w1 w2 w3
oriented volumes.
26
Definition 2.4.4.
|a| |T|. If a > 0 then aT has the same orientation as T. If a < 0 then aT
aT = a (t (e1 ∧ e2 ∧ e3 )) = a t (e1 ∧ e2 ∧ e3 ).
Zero: The zero oriented volume, denoted by 0, has the following properties:
a0 = 0, for all scalars a,
Oriented volumes satisfy axioms V0–V7 of Definition 2.1.1 and thus form a
2.5 Scalars
closer examination reveals that scalars have much in common with the
oriented volumes of Euclidean 3-space. Two scalars are equivalent if they have the
attitude - There is only one attitude for all scalars. We can visualize scalars as
points on the origin. All points on the origin have the same attitude.
orientation - Two scalars have the same orientation if they have the same sign
norm - Two scalars have the same norm if they have the same magnitude. The
The set {1} forms an “orthonormal” basis for scalars. Any scalar s can be
s = s 1, where s is a scalar.
Scalars satisfy axioms V0–V7 of Definition 2.1.1 and thus form a vector space
of dimension one.
We have used the terms oriented length, oriented area, and oriented volume
because they are geometrically descriptive, but they are not standard. From now
on, we use the standard terms vector for an oriented length v, bivector for an
The geometric algebra G3 is a vector space formed from the direct sum of the
scalar, vector, bivector, and trivector vector spaces, along with an additional
M=s+v+B+T
referred to as a multivector.
scalar 0 R
vector 1 R3
∧2 3
bivector 2 R
∧3 3
trivector 3 R
∧k
Where R3 represents the grade k subspace of G3 and G3 is the direct sum of the
are equal.
Let M1 = s1 + v1 + B1 + T1 and M2 = s2 + v2 + B2 + T2 .
Definition 2.6.3.
Zero: The zero multivector has zero for all its components (scalar, vector, bivector,
The set { 1, e1 , e2 , e3 , e2 ∧ e3 , e3 ∧ e1 , e1 ∧ e2 , e1 ∧ e2 ∧ e3 }
|{z} | {z } | {z } | {z }
1 scalar 3 vectors 3 bivectors 1 trivector
basis.
The space G3 satisfies axioms V0–V7 of Definition 2.1.1 and thus forms a
uv = u · v + u ∧ v . (2.10)
30
u (av) = a (uv),
w (u + v) = wu + wv,
vu = v · u + v ∧ u = u · v − u ∧ v. (2.11)
We now combine Eq. (2.10) with Eq. (2.11), through addition and subtraction, to
1
u · v = (uv + vu) , (2.12)
2
1
u ∧ v = (uv − vu) . (2.13)
2
bivector. Thus, the geometric product is not closed over the set of vectors but is
closed over the larger graded ring of multivectors. Although so far we have focused
on the inner, outer, and geometric products of two vectors, it can be shown that
these products are defined for all multivectors and form a closed algebra of
multivectors.
31
vector 1 with this property, if we consider the broader set of multivectors, the scalar
products.
Outer: α ∧v = v ∧α = αv (2.15)
where the scalar 1 plays the role of the multiplicative identity element. This leads
1
v−1 = v . (2.17)
|v|2
32
e21 = e1 e1 = e1 · e1 + e1 ∧ e1 = 1 + 0 = 1,
e22 = e2 e2 = e2 · e2 + e2 ∧ e2 = 1 + 0 = 1,
e23 = e3 e3 = e3 · e3 + e3 ∧ e3 = 1 + 0 = 1,
e2 e3 = e2 · e3 + e2 ∧ e3 = 0 + e2 ∧ e3 = e2 ∧ e3 ,
e3 e1 = e3 · e1 + e3 ∧ e1 = 0 + e3 ∧ e1 = e3 ∧ e1 ,
e1 e2 = e1 · e2 + e1 ∧ e2 = 0 + e1 ∧ e2 = e1 ∧ e2 .
These last three orthonormal bivectors show up so often in equations that going
For example, a trivector—grade 3—is the the highest grade component in G3 , thus
pseudoscalar comes from the study of dual spaces where the pseudoscalar plays the
role that the scalar does in normal space. When discussing G3 , we sometimes
abbreviate the unit trivector (e1 ∧ e2 ∧ e3 )—also called the unit pseudoscalar —as
e1 e2 e3 ≡ e123 ≡ I.
So far, we have defined the geometric product for two vectors and for
scalar-vector combinations. If we define the geometric product for all of the basis
elements of G3 , we can then use that definition to extend the geometric product to
all multivectors in G3 . For example, consider the product of two unit bivectors:
e12 e31 = (e1 e2 )(e3 e1 ) = (−e2 e1 )(−e1 e3 ) = e2 (e1 e1 )e3 = e2 1e3 = e2 e3 = e23
The geometric product of any two basis elements of G3 is defined in Table 2.1.
For example, e1 , e2 , and e3 are all 1-blades because they each span a
combination of these 1-blades is also a 1-blade. Likewise, e12 , e23 , and e31 are
2-blades because their constituent vectors each span a 2-dimensional subspace. Any
In the literature, the term k-vector is often used. A k-vector is any linear
When all the vectors in a geometric product are orthogonal, the orientation is
Likewise, for the unit trivector, all even (or odd) permutations are equivalent:
properties of geometric algebra. The inner product, outer product, and geometric
product were all defined as operations on vectors. We extend the definitions of the
with scalars and vectors. We were then able to define the bivector as the outer
product of two vectors. The trivector was shown to be the outer product of a vector
and a bivector or, via the associative property, the outer product of three vectors.
35
multiplication—the geometric product. We then have a ring over the field R, where
the underlying set, G3 , and the addition and 0 are the same in the ring and vector
space and
holds for all a ∈ R and M1 , M2 ∈ G3 . A vector space with such a ring structure is
an associative algebra over the field R. An associative algebra that arises from a
vector space with a scalar product in the same manner as this example does from
CHAPTER 3
where G3 (a vector space of dimension eight) was used to model geometric objects
In the following chapters of this thesis, we learn that by adding one or two
additional dimensions to the space we are studying, we gain certain advantages. For
and spheres
vector space model. When we represent R2 with G3 or R3 with G4 , we are using the
conformal model.
In all of the previous chapters we have been using the vector space model.
Using this model, we treat vectors, bivectors, and trivectors as having no fixed
37
position, i.e., they can be moved anywhere parallel to themselves without changing
their orientation. With the vector space model we can perform many operations on
subspaces. We can span them, project them, and rotate them, but we do not move
present examples to help relate geometric algebra to other more familiar topics in
subsumes many of the more familiar concepts of mathematics, like vector calculus,
Using what we currently know about geometric algebra, we now derive some
α, β, and γ (see Figure 3.1a). If we redraw the triangle using vectors a, b, and c
1
This material is adapted from Hestenes [Hes03].
2
Note that the symbol I for the unit pseudoscalar can have different meanings depending on the
dimension of the vector space you are dealing with. We use the subscript (2) to distinguish the unit
pseudoscalar for G2 , I(2) = e1 ∧ e2 , from the unit pseudoscalar for G3 , I = e1 ∧ e2 ∧ e3 .
38
a + b + c = 0, (3.1)
and we assign directions to the angles so that they are all counterclockwise, we get
Figure 3.1b.
α
c c α
b γ
b
β γ β
a a
(a) Lengths and Angles (b) Vectors and Angles
The lengths of the vectors are |a| = a, |b| = b, and |c| = c. The angle α starts
that defines the orientation of the of the plane containing the vectors a, b, c. We
can compute the geometric product of the vectors that define the angles β and γ in
For each of these three equations we can separate the geometric product into its
39
Now if we solve Eq. (3.1) for c and then square both sides, we get
c = −a − b,
c2 = (−a − b)2
= (−a − b)(−a − b)
= a2 + ab + ba + b2
= a2 + b2 + ab + ba
[ ]
= a2 + b2 + 2 12 (ab + ba)
c2 = a2 + b2 + 2 [a · b]
c2 = a 2 + b 2 + 2 a · b
Where the last step is obtained by substitution of Eq. (3.3a) for a · b. This equation
Next, we start with Eq. (3.1) and take the outer product first by a and then
by b or c. We get
a + b + c = 0, a + b + c = 0,
(a + b + c) ∧ a = 0 ∧ a (a + b + c) ∧ b = 0 ∧ b
a∧a+b∧a+c∧a=0 a∧b+b∧b+c∧b=0
0+b∧a+c∧a=0 a∧b+0+c∧b=0
−a ∧ b + c ∧ a = 0 a∧b−b∧c=0
a ∧ b = c ∧ a. a ∧ b = b ∧ c.
a ∧ b = b ∧ c = c ∧ a. (3.5)
Now substituting from Eq. (3.3a), (3.3b), and (3.3c) into Eq. (3.5) and multiplying
each term on the right by the inverse of abc I(2) and noting that the sine terms are
a∧b=b∧c=c∧a
Eq. (3.5) can be regarded as giving three equivalent ways of determining the
parallelogram; our triangle has only half that area. Hence, the oriented area A of
A = 21 a ∧ b = 12 b ∧ c = 12 c ∧ a.
Using Eq. (3.3a), (3.3b), and (3.3c) we can also show that
|A| = 21 (a ∧ b)I−1 −1 −1
(2) = 2 (b ∧ c)I(2) = 2 (c ∧ a)I(2) ,
1 1
If we multiply Eq. (3.2a), (3.2b), and (3.2c) together and then divide by
a2 b2 c2 , we get
(−ac)(−cb)(−ba) = ac(cos β + I(2) sin β) cb(cos α + I(2) sin α) ba(cos γ + I(2) sin γ),
−accbba accbba (cos β + I(2) sin β) (cos α + I(2) sin α) (cos γ + I(2) sin γ)
2 2 2
= ,
abc a 2 b 2 c2
− a−1 c−1 cb−1 ba = [(cos β + I(2) sin β) (cos α + I(2) sin α)] (cos γ + I(2) sin γ),
− 1 = [(cos β cos α − sin β sin α) + I(2) (cos β sin α + sin β cos α)](cos γ + I(2) sin γ)
This shows that successive rotations through the three interior angles of a
The unit orthogonal bivectors e12 , e23 , and e31 are represented as
0 −1 0 0 0 0 −1 0 0 0 0 1
1 0 0 0 0 0 0 1 0 0 1 0
e12 = , e23 = , e31 = .
0 0 0 −1 1 0 0 0 0 −1 0 0
0 0 1 0 0 −1 0 0 −1 0 0 0
(3.11)
matrix multiplication.
It is easy to verify that the set of matrices given above satisfies the definition
u = u1 e1 + u2 e2 + u3 e3 and v = v1 e1 + v2 e2 + v3 e3 , then
uv = (u1 v1 + u2 v2 + u3 v3 ) +
u2 v3 e2 e3 + u3 v2 e3 e2 + u3 v1 e3 e1 + u1 v3 e1 e3 + u1 v2 e1 e2 + u2 v1 e2 e1 .
uv =(u1 v1 + u2 v2 + u3 v3 ) +
u · v = u1 v1 + u2 v2 + u3 v3 , (3.17)
product u ∧ v are the three components of the cross product u × v. Instead of being
44
in any dimension. There is a strong connection between the cross product and the
outer product, but whereas the cross product requires the introduction of a third
dimension perpendicular to the two vector factors, the outer product does not.
{1, e1 , e2 , e12 }. The basis elements obey the multiplication table shown in
Table 3.1.
GP 1 e1 e2 e12
1 1 e1 e2 e12
e1 e1 1 e12 e2
e2 e2 −e12 1 −e1
e12 e12 −e2 e1 −1
4
Much of the material in this section follows Lounesto [Lou03, p. 26], Doran and Lasenby [DL03,
p. 26–28] and Dorst, Fontijne, and Mann [DFM07, p. 177–178].
45
1 R 0 scalars
e1 , e2 R2 1 vectors
∧2 2
e12 R 2 bivectors,
∧2
where R2 represents the grade 2 subspace of G2 , i.e., the subspace of
bivectors.
∧2
Thus, the geometric algebra G2 contains copies of R, R2 , and R2 , and it is
∧2
G2 = R ⊕ R2 ⊕ R2 .
∧2
The geometric algebra G2 is also a direct sum of its even part G2+ = R ⊕ R2 and
G2 = G2+ ⊕ G2−
The even part is not only a subspace but also a subalgebra. It consists of elements
of the form x + ye12 , where x, y ∈ R and e212 = −1. This even subalgebra G2+ is
Euclidean 3-space. An important property of unit pseudoscalar I(2) is that I2(2) = −1.
Consider what happens when we take a complex number Z and multiply it on the
46
The result of right multiplying by the unit pseudoscalar is to rotate the complex
I(2)
ZI(2)
a
b Z
-b a R
Likewise, consider what happens when we multiply the same complex number
Once again, the result of left multiplying by the unit pseudoscalar is to rotate
complex plane by some angle other than 90◦ . For this we need to define the
exponential function.
47
The exponential is the sum of a scalar and a bivector. For any given angle θ,
vectors. It captures the angle between them and the orientation of the rotation with
respect to the unit pseudoscalar. If u1 and u2 are unit vectors in the I(2) -plane and
but u1 = u2 = 1, thus
complex number. Let u and v be any two vectors in the I(2) -plane. Then
Z = a + bI(2) = reI(2) θ ,
I(2)
ZeI(2) θ
Z
b θ
a R
e12 -plane in Euclidean 3-space formed by the two standard orthonormal vectors e1
and e2 . If we consider {e1 , e2 , e3 } as the standard basis for R3 , then any plane in
{e23 , e31 , e12 }, thus we should more properly think of bI(2) as any plane through the
origin in R3 where
Generalized complex numbers are just multivectors with a scalar part and a
bivector part. Table 3.2 does a side-by-side comparison of the algebra of complex
rectangular z = a + bi Z = a + bI(2)
polara z = reiθ Z = reI(2) θ
geometric product N/A Z = uv
rectangular conjugate z = a − bi Z = vu = a − bI(2)
polar conjugate z = re−iθ Z = vu = re−I(2) θ
i and I(2) squared i2 = −1 I2(2) = −1
rotate 90◦ CCW zi ZI(2)
rotate 90◦ CW −zi −ZI(2)
commutativity zi = iz ZI(2) = I(2) Z
norm squared |z|2 = zz = a2 + b2 |Z|2 = ZZ = a2 + b2
rotate by θ zeiθ ZeI(2) θ
√ (b)
a
Where r= a2 + b2 and θ = tan−1 a .
We have used the symbol I(2) for the unit pseudoscalar, rather than the
isomorphic with the field of complex numbers, we see that i and I(2) behave
vi = iv,
Next, consider what happens when we take a vector v = ae1 + be2 in the
e12 -plane and multiply it on the right by the unit pseudoscalar I(2) .
vI(2) = (ae1 + be2 )e12 = ae1 e12 + be2 e12 = ae2 − be1 = −be1 + ae2 ,
e2
vI(2)
a
v
b
−b a e1
Likewise, consider what happens when we multiply the same vector v by the
I(2) v = e12 (ae1 + be2 ) = ae12 e1 + be12 e2 = −ae2 + be1 = be1 − ae2 .
The result of left-multiplying by the unit pseudoscalar is to rotate the vector by 90◦
e2
b v
b
a e1
−a
I(2) v
Figure 3.5: Left multiplying v by the unit pseudoscalar.
and thus I(2) anticommutes with every vector in the e12 -plane. From the above
discussion we see that if we limit ourselves to the algebra of G2+ , I(2) behaves
exactly the same as i, but if we broaden our algebra to include all of G2 , then I(2)
Another name for a generalized complex number is spinor. The name spinor is
suggestive of its action on a vector under geometric multiplication. Each spinor can
It was shown in the previous section that complex numbers can be subsumed
in the broader frame of geometric algebra. The same is true of the quaternions.
a + bi + cj + dk,
and ij = k, jk = i, ki = j.
The quaternions form a skew field, a noncommutative division ring, under addition
and multiplication.
If we take our orthonormal basis for the bivectors {e23 , e31 , e12 } and reverse
With this definition, all of the identities listed above hold. Hamilton identified
pure quaternions (null scalar part) with vectors, but we now see that they are
must flip the signs of the bivectors. This shows that the quaternions are a
great confusion and meant one had to be extremely careful when applying
Quaternions are just multivectors with a scalar part and a bivector part. Like
3.6 Reflections
We now take a closer look at the geometric product uv of two vectors u and
v. If we right multiply this product by the inverse of v (v−1 ), we should retrieve the
53
vector u.
= (u · v + u ∧ v) v−1
vector. The first term is the component of u in the v direction, i.e., the orthogonal
projection of u onto v (u∥v ). The second term represents the component of u that
u = u∥v + u⊥v ,
u⊥v = (u ∧ v)v−1
u∥v = (u · v)v−1
We now consider what happens when we left multiply the geometric product
54
uv by v−1 .
= (v · u + v ∧ u) v−1
= (v · u) v−1 + (v ∧ u) v−1
If we now compare Eq. (3.21) to Eq. (3.20), we see that the first term (the
projection) is the same, but the second term—the rejection—has the opposite sign.
The resulting of sandwiching the vector u between the vectors v and v−1 (v−1 uv)
has, in effect, reflected the u vector across the line of the v vector in the plane of
u⊥v = (u ∧ v)v−1
u∥v = (u · v)v−1
v−1 uv
The magnitude and orientation of the vector v are irrelevant to the outcome,
55
because the inversion removes any scalar factor. Only the attitude of the line
Theorem 3.6.1.
important to note that the objects of geometric algebra, vectors in this case, are also
the operators of a geometric transform, reflection in this case. One of the powers of
geometric algebra is that geometric objects and operators are all treated the same.
3.7 Rotations
The usual way to specify a rotation in Euclidean 3-space is by its axis n and a
scalar rotational angle θ. Instead we specify the rotation by the “plane I(2) ”, i.e.,
the plane with pseudoscalar I(2) orthogonal to the axis (the “plane of rotation”) and
Consider the first case where u is in the plane of rotation I(2) . Then so is u′
uu′ = u · u′ + u ∧ u′
e2
u′ = ueI(2) θ
u
θ
e1
If we multiply both sides of Eq. (3.23) by u on the left, and use the fact that
u′ = u eI(2) θ . (3.24)
Figure 3.8 depicts Eq. (3.24) in action: eI(2) θ rotates u to u′ in the plane of I(2) .
We now consider the more general case where the vector u is not necessarily
in the plane of rotation I(2) . We decompose u into its projection onto the plane
I(2) , u∥ and its rejection, the component perpendicular to the plane I(2) , u⊥ , thus
u⊥ n u⊥
θ
u∥ u∥ eI(2) θ
u′ = u∥ eI(2) θ + u⊥
Theorem 3.7.1.
Let RI(2) θ (u) denote the rotation of a vector u by the angle θ around an axis
We know from geometry that two reflections make a rotation, so we can also
visualize this rotation as the result of two successive reflections. Suppose that v and
58
w are two unit vectors in the plane of rotation and that the angle from v to w is
θ/2. We first reflect u in v, giving v−1 uv. Then we reflect this result in w giving
The net result of the two reflections is the same as the rotation obtained with
e−I(2) θ/2 ueI(2) θ/2 , where vw = eI(2) θ/2 and (vw)−1 = e−I(2) θ/2 . Notice that to get a
rotation of angle θ, the angle between v and w must be θ/2 and both v and w must
be in the plane of rotation I(2) . The magnitude and orientation of the vectors v and
w are irrelevant to the outcome, because the inversion removes any scalar factor.
Only the attitude of the lines matters. In summary, to rotate an object by an angle
θ with respect to a plane, we need only choose any two vectors v and w in that
(vw)-1uvw
u θ
v w
θ/2
v-1uv
Figure 3.10: Rotation viewed as two successive reflections.
transformed (u) is sandwiched between two operators. One of the most powerful
X 7→ g−1 Xg
element, unique to the isometry. The operator g is in general a versor, i.e., it can be
3.8 Geometry
geometry. First we present several lemmas that are helpful in proving other lemmas
Many of the lemmas and theorems in this section deal with inverse bivectors,
This is always the case when both A and B are bivectors in the same plane,
∼
reversion: B = bk ∧ bk−1 ∧ · · · ∧ b1 ,
which just has all vectors of B in reverse order. The notation of the tilde is chosen
3.8.2 Lemmas
Lemma 3.8.3.
original bivector.
Proof.
Then,
∼
−1 A αe21 1 1
A = ∼ = = e21 = − e12 .
AA α2 e
12 e21 α α
−1
Therefore, A is a bivector in the same plane as A.
Lemma 3.8.4.
If A and B are are bivectors in the same plane, then their geometric product
commutes, i.e.,
AB = BA.
Proof.
Let A and B be a bivectors that lie in the same plane. Without loss of
Then,
Therefore,
AB = BA.
Lemma 3.8.5.
A ̸= A′ , B ̸= ±B′ , B ̸= 0, B′ ̸= 0.
A A′ A A ± A′
If = ′, then = . (3.28)
B B B B ± B′
62
Proof.
A
AB−1 = B−1 A = .
B
A′
Likewise, A′ commutes with (B′ )−1 . But A
B
= B′
implies that A′ = mA and
A A (1 ± m) A A ± mA A ± A′
=1 = = = .
B B (1 ± m) B B ± mB B ± B′
line in which the opposite side—the base—lies (see Figure 3.11 where the bases
AB, BC, CA have respective altitudes of a1 , a2 , a3 ). When referring the the length of
a1
a3
A
B
a2
Lemma 3.8.7.
When two triangles have the same height, the ratio of their areas equals the
h h
A1 A2
A1 A2
b1 b2 b1 b2
(a) Configuration 1 (b) Configuration 2
Proof.
Let A1 and A2 be the areas of two triangles with respective bases of b1 and b2
Therefore
1
A1 b1 h b1
= 21 = . (3.29)
A2 bh
2 2
b2
We use the configuration shown in Figure 3.12b for proving the theorems that
follow.
Lemma 3.8.8.
When two triangles have the same height, the ratio of the codirectional
bivectors representing their areas equals the ratio of the codirectional vectors
A1 A2
a x b
a-x x-b
Figure 3.13: Lemma 3.8.8, using vectors and bivectors
Lemma 3.8.9.
Three vectors x, a, and b, with initial points on the origin, have end points
that are collinear if and only if x can be expressed as a linear combination of a and
b, viz.,
x = αa + βb, (3.31a)
where α + β = 1. (3.31b)
Proof.
65
b x
x b
A a A a
B A+B
0 0
(⇒) Suppose that three vectors x, a, and b with initial points on the origin have
end points that are collinear. Let A be the oriented area of triangle △0xb,
A b−x
=
B x−a
B
x−a= (b − x)
A
B B
x−a= b− x
A A
B B
x+ x=a+ b
A A
B
a+ A b
x= B
1+ A
( ) ( )
A B
x= a+ b
A+B A+B
66
( ) ( )
A B
x= a+ b.
A+B A+B
Where the last step is justified because A and B are in the same plane and are
codirectional.
A B
Let α= and β= ,
A+B A+B
then x = αa + βb and α + β = 1.
(⇐) Suppose that three vectors x, a, and b with initial points on the origin satisfy
x = (1 − β)a + βb
x = a − βa + βb
Eq. (3.32) indicates that x is the sum of a and a scalar multiple of b − a, thus the
end point of x is collinear with the end points of a and b (see Figure 3.15).
b-a
b β(b-a)
x
a
Lemma 3.8.10.
Three distinct points a, b, c lie on a line if and only if there exist scalars
Proof.
(⇒) Suppose that the three distinct points a, b, c lie on a line. Then by
c = αa + βb and α + β = 1,
0 = αa + βb − c,
0 = αa + βb + γc, where α + β + γ = 0.
(⇐) Suppose that three distinct points a, b, c are related by the equations
−γc = αa + βb and − γ = α + β,
( ) ( )
α β
c= a+ b,
−γ −γ
( ) ( )
α β
c= a+ b,
α+β α+β
α β
c = α′ a + β ′ b, where α′ = and β ′ = ,
α+β α+β
c = α′ a + β ′ b, where α′ + β ′ = 1.
first published in 1678 by the Italian Giovanni Ceva [Eve72, p. 63]. A cevian line is
a line passing through the vertex of a triangle that does not coincide with a side of
the triangle. A cevian line cuts the opposite side of a triangle at a point. Ceva’s
theorem examines the directed lengths of the sides of a triangle that have been cut
by cevian lines. It uses the product of ratios to determine if three cevian lines are
b'
a'
a c' b
Three cevian lines aa′ , bb′ , cc′ of an ordinary triangle △abc are concurrent if
and only if
( )( )( )
b − a′ c − b′ a − c′
= +1.
a′ − c b′ − a c′ − b
b' B A2
1 a'
B2 0 A1
C1 C2
a c' b
(⇒) Suppose that three cevian lines aa′ , bb′ , cc′ of an ordinary triangle △abc
bivectors whose norms are equal to the areas of the smaller triangles.
Closer examination of Figure 3.17 reveals that each pair of smaller triangles
A1 b ∧ a′ b − a′
= ′ = ′
A2 a ∧c a −c
B1 c ∧ b′ c − b′
= ′ = ′ (3.33)
B2 b ∧a b −a
C1 a ∧ c′ a − c′
= ′ = ′ .
C2 c ∧b c −b
Next we consider the same ratios of sides, but this time we equate these ratios to
70
areas of the larger triangle △abc. Once again, these larger pairs of triangles share a
b − a′ (b − a) ∧ (a′ − a) A1 + C1 + C2
= =
a −c
′ (a − a) ∧ (c − a)
′ A2 + B1 + B2
c − b′ (c − b) ∧ (b′ − b) B1 + A1 + A2
= = (3.34)
b −a
′ (b − b) ∧ (a − b)
′ B2 + C1 + C2
a − c′ (a − c) ∧ (c′ − c) C1 + B1 + B2
= = .
c −b
′ (c − c) ∧ (b − c)
′ C2 + A1 + A2
Equating the formulas in Eq. (3.33) with those in Eq. (3.34) and applying
A1 A1 + C1 + C2 C1 + C2
= =
A2 A2 + B1 + B2 B1 + B2
B1 B1 + A1 + A2 A1 + A2
= = (3.35)
B2 B2 + C1 + C2 C1 + C2
C1 C1 + B1 + B2 B1 + B2
= = .
C2 C2 + A1 + A2 A1 + A2
(⇐) Suppose that three cevian lines aa′ , bb′ , cĉ of an ordinary triangle △abc
In the first part of this proof, we showed that for concurrent cevian lines aa′ , bb′ , cc′
b'
a'
a b
^
c c'
we have Eq. (3.37). If we equate the left hand sides of Eq. (3.37) and (3.38) we get
( )( )( ) ( )( )( )
b − a′ c − b′ a − c′ b − a′ c − b′ a − ĉ
= .
a′ − c b′ − a c′ − b a′ − c b′ − a ĉ − b
astronomer who lived in the first century A.D. [Eve72, p. 63]. A menelaus point is a
point lying on a side of a triangle but not coinciding with a vertex of the triangle.
Menelaus’ Theorem examines the directed lengths of the sides of a triangle that has
been cut by a transversal through three menelaus points. It uses the product of
ratios to determine if three menelaus points are collinear (see Figure 3.19). Note
that it is common in the literature for the terms point and vector to be
interchanged. A vector with its initial point at the origin determines a unique point
a' c'
b'
b
a
norms are equal to the areas of the smaller triangles (see Figure 3.20). Consider the
A c'
a'
b' B4
B3 C
B1
B2 b
the common vertex. Step (2) follows from Lemma 3.8.7 where b′ is the common
74
vertex. Step (3) uses Lemma 3.8.5 to take the difference of the first two steps.
c − b′ 1 A + B3 + B4 2 A 3 B3 + B4
= = = . (3.40)
b −a
′ B1 + B2 B1 + B4 B2 − B4
In Eq. (3.40), step (1) follows from Lemma 3.8.7 where b is the common vertex.
Step (2) follows from Lemma 3.8.7 where a′ is the common vertex. Step (3) uses
a − c′ 1 B1 + B2 + B3 + B4 + C 2 B2 + B3 + C 3 B1 + B4
=− =− =− . (3.41)
c′ − b B3 + B4 + C C B3 + B4
In Eq. (3.41), step (1) follows from Lemma 3.8.7 where b′ is the common vertex.
Step (2) follows from Lemma 3.8.7 where a′ is the common vertex. Step (3) uses
Lemma 3.8.5 to take the difference of the first two steps. Notice that a negative sign
was introduced because the menelaus point c′ cuts the side ab exterior to the
triangle.
We now take the product of the right-most terms of Eq. (3.39), (3.40), and
(3.41) to get
( )( )( )
B2 − B4 B3 + B4 B1 + B4
− = −1.
B1 + B4 B2 − B4 B3 + B4
Therefore,
( )( )( )
b − a′ c − b′ a − c′
= −1. (3.42)
a′ − c b′ − a c′ − b
(⇐) Suppose that three menelaus points a′ , b′ , ĉ on sides bc, ca, ab of triangle
Figure 3.21). In the first part of this proof, we showed that for collinear menelaus
75
a' c'
b' ^
c
b
a
points a′ , b′ , c′ we have Eq. (3.42). If we equate the left-hand sides of Eq. (3.42) and
(3.43) we get
( )( )( ) ( )( )( )
b − a′ c − b′ a − c′ b − a′ c − b′ a − ĉ
= .
a′ − c b′ − a c′ − b a′ − c b′ − a ĉ − b
a + rb a + rb
c′ = and ĉ = .
r+1 r+1
Therefore, ĉ must equal c′ and the three menelaus points are collinear.
perspective that included his now famous two-triangle theorem [Eve72, p. 70]. This
theorem has become basic in the present-day theory of projective geometry. In 1639
Desargues published a book, Brouillon Projet d’une atteinte aux événemens des
rencontres du Cône avec un Plan, that marked the first advance in synthetic
are concurrent at the point S; they are said to be coaxial if the points of
C
B
A
R Q P
A'
B'
C'
Two ordinary triangles are copolar if and only if they are coaxial.
c
b
a
r q p
a'
b'
c'
(⇒) Suppose that triangles △abc and △a′ b′ c′ are copolar at point s. Then
by Eq. (3.31a) and (3.31d) of Lemma 3.8.9, there exist scalars α, α′ , β, β ′ , γ, γ ′ such
that
s = αa + α′ a′ = βb + β ′ b′ = γc + γ ′ c′ , (3.44a)
α + α′ = β + β ′ = γ + γ ′ = 1. (3.44b)
βb − γc = −(β ′ b′ − γ ′ c′ ),
and β − γ = −(β ′ − γ ′ ).
Thus, if β − γ ̸= 0, we have
βb − γc β ′ b′ − γ ′ c′
= = p. (3.45a)
β−γ β′ − γ′
Where p is the intersection of the line from c to b and the line from c′ to b′ . The
left-hand ratio is a point on the line through the points b and c because it can be
(Lemma 3.8.9). Likewise, the right-hand ratio is a point on the line through the
78
where the coefficients sum to 1 (Lemma 3.8.9). Thus, these ratios equal p, the point
line from c to a and the line from c′ to a′ , and r, the intersection of the line from b
γc − αa γ ′ c ′ − α ′ a′
= = q, (3.45b)
γ−α γ ′ − α′
αa − βb α′ a′ − β ′ b′
= = r. (3.45c)
α−β α′ − β ′
Rearranging Eqs. (3.45a, b, and c), we get
Adding the left and right sides of Eqs. (3.46a, b, and c), we get
where (β − γ) + (γ − α) + (α − β) = 0.
Thus, by Lemma 3.8.10, the points p, q, r are collinear, provided not all of
that each pair of lines intersects in an ordinary point and that we are dealing with
(⇐) Suppose that triangles △abc and △a′ b′ c′ are coaxial through the points
p, q, r, and let s be the point of intersection of the line through a′ and a and the
line through b′ and b. Then the triangles △aa′ q and △bb′ p are copolar through r.
Therefore, by the first part of this proof, they are coaxial through c′ , c, s. Thus, the
CHAPTER 4
dimensions are added to the Euclidean space being modeled. These extra
dimensions have particular properties such that linear subspaces in conformal space
In this chapter we develop the conformal model and show how it can be used
to represent points, lines, circles, planes, and spheres.1 The conformal model can
support points and lines at infinity. It also supports the conformal transformations
When first introduced to the conformal model, one often wonders “why go to
all this trouble?” It turns out that this model has some real advantages in its ability
to model geometric objects and express transformations. The reader can be assured
that any effort to understand this model will be rewarded in the end.
(see Figure 4.1). Any point on this line can be expressed as a vector, a scalar
1
The organization of this chapter follows that of Vince [Vin08, Ch. 11] and
Doran & Lasenby [DL03, Ch. 10].
81
e1
-3 -2 -1 0 1 2 3
Figure 4.1: Line in Euclidean 1-space
multiple of e1 , viz.,
x = xe1 .
circle centered at the origin 0 of e1 and e. To map any point x on the e1 line to a
point x′ on the unit circle, we construct a line from the point x to the end of the
vector e. Wherever this line cuts the unit circle is the point x′ (see Figure 4.2).
0 e1 x
x'
e
Figure 4.2: Stereographic projection
infinity on the e1 line is mapped to the point e on the unit circle. The stereographic
82
2x 1 − x2
x′ = e1 − e, where x′ · x′ = x′ 2 = 1. (4.1)
1 + x2 1 + x2
e · e = 1, x′ · x′ = 1, e · x = 0, x · x = x2 .
x′ · x′ = e · e + 2λe · (x − e) + λ2 (x − e) · (x − e)
x′ · x′ = e · e + 2λ(e · x − e · e) + λ2 (x · x − 2e · x + e · e)
1 = 1 + 2λ(0 − 1) + λ2 (x2 − 0 + 1)
1 = 1 − 2λ + λ2 (1 + x2 )
0 = λ2 (1 + x2 ) − 2λ. (4.2)
2
λ = 0 or λ = .
1 + x2
If λ = 0, then x′ = e and x would be the point at infinity. For all other points
x′ = e + λ(x − e)
2
x′ = e + (x − e)
1 + x2
′ e(1 + x2 ) + 2(x − e)
x =
1 + x2
e + x2 e + 2x − 2e
x′ =
1 + x2
83
2x + x2 e − e
x′ =
1 + x2
2x 1 − x2
x′ = e1 − e.
1 + x2 1 + x2
Using Eq. (4.1), any point x on the e1 line can be mapped to a point x′ on the
x = 0e1 7→ x′ = −e,
x = 1e1 7→ x′ = e1 ,
x = ∞e1 7→ x′ = e.
far we have been working with Inner-Product Spaces, i.e., vector spaces equipped
with positive definite, symmetric bilinear forms over the real numbers. At this
point, we find it useful to relax our assumptions a little bit by dispensing with the
assumption that the form under consideration is positive definite. Although we still
use the term “inner product,” along with the “dot product” notation to indicate the
value of our symmetric bilinear form, we now have the possibility that a vector v
satisfies v · v < 0 or v · v = 0.
customary to to say that the space has p “positive dimensions” and q “negative
84
dimensions” (with n = p + q). Note that we assume that our symmetric bilinear
write Rp,q and call (p, q) the signature of the space. An n-dimensional Euclidean
space is then written as Rn,0 , the representational space for the conformal model as
the previous section. This new dimension is identified by the unit vector ē, where ē
Finally, we lift the unit circle off the e1 e-plane so that its center lies one unit above
x'
e x
e1
e
Figure 4.3: Addition of the ē dimension
freedom that we use in our expression for mapping a real point into the conformal
85
X = x′ + ē,
2x 1 − x2
X= e 1 − e + ē, (4.3)
1 + x2 1 + x2
where we have substituted Eq. (4.1) for x′ .
Note that
( )2
2x 1 − x2
2
X = e1 − e + ē
1 + x2 1 + x2
( )( )
2x 1 − x2 2x 1 − x2
= e1 − e + ē e1 − e + ē
1 + x2 1 + x2 1 + x2 1 + x2
4x2 2x (1 − x2 ) 2x
e2 − e1 e + e1 ē
(1 + x2 )2 1 2
(1 + x )2 1 + x2
(1 − x2 ) 2x (1 − x2 )2 2 1 − x2
= − ee1 + e − eē
(1 + x2 )2 (1 + x2 )2 1 + x2
2x 1 − x2
+ ēe1 − ēe + ē2
1 + x2 1 + x2
4x2 2x (1 − x2 ) 2x
1 − e e + e1 ē
(1 + x2 )2 (1 + x2 )2
1
1 + x2
2x (1 − x2 ) (1 − x2 )2 1 − x2
= + e1 e + 1 − eē
(1 + x2 )2 (1 + x2 )2 1 + x2
2x 1 − x2
− e1 ē + eē − 1
1 + x2 1 + x2
4x2 (1 − x2 )2
= + −1
(1 + x2 )2 (1 + x2 )2
= 0.
86
We see that the negative signature of ē ensures that X is always a null vector, i.e.,
X2 = XX = X · X + X ∧ X = |X|2 + 0 = |X|2 = 0.
A null vector is a vector v whose inner product with itself is zero, i.e.,
v · v = 0. Null vectors show up when we work with spaces of mixed signature (both
positive and negative), as with the conformal model, for example. Null vectors may
be nonzero. However, the zero vector is a null vector. Null vectors are not invertible.
any nonzero scalar multiple of X (e.g., σX, where σ ∈ R). Any nonzero scalar
multiple of the null vector X is also a null vector that lies on the line that passes
through the same point on the unit circle as X does. The extra degree of freedom
represent the same point on the unit circle. Thus, all nonzero scalar multiples of X
The locus of all lines that pass from the origin through the unit circle is called
We can simplify Eq. (4.3) by multiplying each term by the scalar σ(1 + x2 ),
giving,
where σ is an arbitrary nonzero scalar. Thus, Eq. (4.4) defines an equivalence class
The vectors e and ē have extended the space R1 to R2,1 . The basis elements
for this new conformal space are {e1 , e, ē}, where e21 = 1, e2 = 1, and ē2 = −1.
87
The inner, outer, and geometric products of {e1 , e, ē} are summarized in
Table 4.1.
· e1 e ē ∧ e1 e ē GP e1 e ē
e1 1 0 0 e1 0 e1 ∧ e e1 ∧ ē e1 1 e1 e e1 ē
e 0 1 0 e −e1 ∧ e 0 e ∧ ē e −e1 e 1 eē
ē 0 0 −1 ē −e1 ∧ ē −e ∧ ē 0 ē −e1 ē −eē −1
circle off of the e1 e-plane, placing its center on the end point of the ē
vector. Any point on the unit circle can now be identified by an equivalence
class of nonzero vectors that lie on a line that passes from the origin
through that point on the unit circle. Thus, an equivalence class of vectors
all refer to the same point on the Euclidean line e1 vis-à-vis the point on the
unit circle. With the choice of the negative signature for ē, we insure that
all nonzero vectors X ∈ R2,1 lying on a line that passes from the origin
through the unit circle, and, therefore, representing points on the Euclidean
replace these two basis vectors with two null vectors, then it is possible to assign a
geometric interpretation to these null vectors. We can achieve this by replacing our
basis vectors e and ē with the null vectors n and n defined as:
n = e + ē , n = e − ē . (4.5)
Note that just like e and ē, both n and n are perpendicular to the Euclidean
following relations:
Table 4.2.
· e1 n n ∧ e1 n n GP e1 n n
e1 1 0 0 e1 0 e1 ∧ n e1 ∧ n e1 1 e1 n e1 n
n 0 0 2 n −e1 ∧ n 0 −2eē n −e1 n 0 2 − 2eē
n 0 2 0 n −e1 ∧ n 2eē 0 n −e1 n 2 + 2eē 0
This configuration can be visualized as shown in Figure 4.4. Points on the line
determined by e1 are mapped to null vectors on the null cone using Eq. (4.7).
89
e n=e+e
e1
e
n=e-e
= (2 − 2eē)(e + ē)
= 2e + 2ē + 2e2 ē + 2e
= 2e + 2ē + 2ē + 2e
∴ nnn = 4n . (4.8)
easy to extend these findings to three-dimensional Euclidean space. First, for the
define X, the conformal mapping of x ∈ R3 into R4,1 . Note that e and ē are
perpendicular to all three Euclidean basis vectors e1 , e2 , e3 and that X lies on a line
Because σ can be any arbitrary nonzero scalar, we choose the value of one-half
as being convenient for expressing the standard form of the conformal image of
x = x1 e1 + x2 e2 + x3 e3 ,
convenient to convert it into the standard form of Eq. (4.10) so that the Euclidean
−X · n = − 12 (2x + x2 n − n) · n = 1. (4.11)
2
Different authors use different standard forms of the conformal equation. See Appendix A.
91
b = X
Normalization: X . (4.12)
−X · n
For example, given the vector
we have
= −(17 − 57)
= 40.
b = X
X
−X · n
= 65 e1 + 12 e2 + 25 e3 + 17
40
e + 57
40
ē
= 56 e1 + 12 e2 + 25 e3 + 37
40
n − 21 n.
And from this formula, the Euclidean coordinates of the point x can be read as
x = ( 56 , 12 , 52 ).
X · n = 12 (2x + x2 n − n) · n
= 12 (2x · n + x2 (n · n) − n · n)
= 12 (0 + 2x2 + 0)
= x2 .
point it represents. We multiply X by the scalar σ = 2/(X · n) = 2/x2 and take the
= n. (4.13)
and inversions. Translations and rotations form a subgroup of the larger conformal
group called the Euclidean group. The Euclidean group consists of transformations
u, uv, uvw, etc. A versor is called even or odd depending upon whether it has an
formulas a little easier to follow and does not impact the final results.
• Use the above information and the distributive property to derive how the
of x, i.e.,
4.2.1 Translation
0
p+a
a
p
translated
original
point on the object is indicated by the vector p, then p + a locates the same point
fa : R3 → R3 is defined by fa (x) = x + a.
95
Examples of rotors are uv, vw, uw, if |u| = |v| = |w| = 1. Rotors can always be
expressed as exponentials, e.g., uv = eI(2) θ , where I(2) is the unit pseudoscalar in the
uv-plane and θ is the angle from u to v. Rotors are even unit versors.
R = Ta = ena/2 ,
x2 x3
ex = 1 + x + + + ··· .
2! 3!
na ( na )2 ( na )3
ena/2 = 1 + + 2 + 2 + ··· .
2 2! 3!
Because na is a null bivector, all terms with power greater than one become zero
and we have
Translation na ∼ na
Ta = ena/2 = 1 + and Ta = e−na/2 = 1 − . (4.14)
rotors: 2 2
∼ ∼ ∼ ∼ ∼
RXR = R (2x + x2 n − n) R = R2xR + Rx2 nR − RnR. (4.15)
96
∼
to show that the sandwich operation Ta XTa corresponds to a translation of the
vector x in R3 .
For x ∈ R3 we have
∼ na na
Ta xTa = (1 + ) x (1 − )
2 2
nax na
= (x + )(1 − )
2 2
∼ na na
Ta nTa = (1 + ) n (1 − )
2 2
nan na
= (n + )(1 − )
2 2
n2 a na
= (n − )(1 − )
2 2
na
= (n − 0)(1 − )
2
na
= n (1 − )
2
n2 a
=n− =n−0=n
2
∼
Ta nTa = n . (4.17)
97
nan na
= (n + )(1 − )
2 2
= n − (n · n) a − na2 = n − 2a − a2 n
∼
Ta nTa = n − 2a − a2 n . (4.18)
= 2(x + a) + (x2 + ax + xa + a2 ) n − n
= 2(x + a) + (x + a)2 n − n.
∼
Conformal Translation: Ta F (x)Ta = 2(x + a) + (x + a)2 n − n . (4.19)
Where step (3) comes from Eqs. (4.16), (4.17), and (4.18). Note that
∼
Ta F (x)Ta = F (x + a),
98
plane.
4.2.2 Rotation
∼
RxR.
∼
Rotation operators: R = eI(2) θ/2 and R = e−I(2) θ/2 . (4.20)
where θ is the angle of rotation and I(2) is a unit pseudoscalar for the plane of
∼
RxR = eI(2) θ/2 x e−I(2) θ/2 . (4.21)
We now see what happens when we apply this rotor to the vector n ∈ R4,1 ,
the point at infinity. Without loss of generality we can assume that I(2) = b1 b2
where b1 and b2 are orthogonal unit vectors in the I(2) -plane. Then we have
nI(2) = nb1 b2
nI(2) = b1 b2 n
and
Then expanding Eq. (4.21) and using the results of Eqs. (4.22) and (4.23) we have,
∼
RnR = eI(2) θ/2 n e−I(2) θ/2
= n cos2 2θ − nI(2) cos 2θ sin 2θ + I(2) n sin 2θ cos 2θ − I(2) nI(2) sin2 θ
2
= n (cos2 2θ + sin2 2θ )
= n.
∼
RnR = n . (4.24)
If we replace n with n, in the above calculations, all results turn out the same.
Thus, we get
∼
RnR = n . (4.25)
The rotor R commutes with both n and n because it is an even element of R4,1 .
Euclidean vector x,
X = F (x) = 2x + x2 n − n
∼ ∼
RF (x)R = R(2x + x2 n − n)R
∼ ∼ ∼
= R2xR + Rx2 nR − RnR
∼
= 2RxR + x2 n − n.
100
∼ ∼
Conformal Rotation: RF (x)R = 2RxR + x2 n − n , (4.26)
∼
where RxR is as shown in Eq. (4.21).
Suppose that we wish to rotate about a point other than the origin. This can
be achieved by translating that point to the origin, doing the rotation and then
∼ ∼ ∼
X 7→ Ta (R(T−a XT−a )R)Ta .
∼′
X 7→ R′ XR .
The conformal model has freed us from treating the origin as a special point.
Rotations about any point are handled in the same manner, and are still generated
by a bivector.
4.2.3 Inversion
x
x 7→ .
x2
with the same attitude and orientation as x, but with norm 1/|x|. We use the
101
b-1
b
a=a-1
-2 -1 0 1 2
c-1
notation x−1 to denote the inverse of x. If |x| is less than 1, then |x−1 | is greater
than one and vice versa. If |x| = 1, then |x−1 | = 1 (see Figure 4.6).
But we are using the homogeneous representation for conformal space where
1
nonzero scalar multiples are arbitrary, so we can ignore the x2
factor and obtain
F (x−1 ) = 2x − x2 n + n.
conformal space,
This map can be achieved by a reflection in e, where the versor V = V−1 = e. For
102
n we have
−VnV−1 = −ene
= −e (e + ē) e
= −eee − eēe
−VnV−1 = −n . (4.27)
−VnV−1 = −ene
= −e (e − ē) e
= −eee + eēe
−VnV−1 = −n . (4.28)
−VxV−1 = x . (4.29)
Euclidean vector x.
X = F (x) = 2x + x2 n − n,
= 2x − x2 n + n.
103
Note that
translate to the origin, invert, and translate back to the original point. In terms of
∼ ∼
X 7→ Ta (V(T−a XT−a )V−1 )Ta .
a2 nen
= e − (e · n) a −
4
[ ( ) ]
a2 n+n
= e − [e · (e + ē)] a − n n
4 2
[ ]
a2 nnn + nnn
= e − [e · e + e · ē] a −
4 2
[ ]
7 a2 0 + 4n
= e − [1 + 0] a −
4 2
a2
=e−a− n.
2
104
Generator for an a2
V′ = Ta VT−a = e − a − n . (4.31)
inversion in a point a: 2
Where step (7) uses Identity 4.1.3, viz., nnn = 4n. The combined transform
becomes
X 7→ V′ XV′−1 .
4.2.4 Dilation
geometric objects. When we perform a dilation with respect to the origin, all
vectors from the origin are multiplied by the same scalar constant (see Figure 4.7).
e-αp
p
0 0
original
dilated
Although the size of the object has changed, all the angles remain the same.
multiple is less than one, then we are shrinking the object. If it is greater than one,
this way the scalar multiple is always a positive number. When α is positive, we
x 7→ e−α x.
Once again we can ignore the scalar multiple e−α due to the homogenous
coordinates used in R4,1 . If we compare Eq. (4.32) to the standard form Eq. (4.10),
we see that we are looking for a conformal space dilation operator that maps
x 7→ x, n 7→ e−α n, and n 7→ eα n.
Such an operator does exist and it takes the form of a rotor Dα , where
∼
Dα F (x)Dα = 2x + e−α x2 n − eα n.
Dα = cosh(α/2) + sinh(α/2) N
Dilation
and (4.33)
operators:
∼
Dα = cosh(α/2) − sinh(α/2) N .
106
We now list several identities involving N that are used in the discussion that
follows.
nN = −Nn. (4.34c)
nN = −Nn. (4.34f)
N2 = (eē)2 = 1. (4.34g)
x ∈ R3 , we have
∼
xDα = x (cosh(α/2) − sinh(α/2) N)
= cosh(α/2)x − sinh(α/2) xN
= (cosh(α/2) − sinh(α/2) N) x
∼
= Dα x.
107
∼ ∼
Dα xDα = Dα Dα x
∼
Dα xDα = x . (4.35)
Where step (4) uses the identity in Eq. (4.34g) and step (5) uses the hyperbolic
∼
nDα = n (cosh(α/2) − sinh(α/2) N)
= cosh(α/2)n − sinh(α/2) n
3
= cosh(α/2)n + sinh(α/2) Nn
= (cosh(α/2) + sinh(α/2) N) n
= Dα n.
where step (3) uses the identity in Eq. (4.34c). This allows us to rewrite the
∼
Dα nDα = D2α n
5
= cosh2 (α/2) n − 2 cosh(α/2) sinh(α/2) n + sinh2 (α/2) n
∼
Dα nDα = e−α n . (4.36)
Where step (5) uses Eq. (4.34b), step (7) adds and subtracts cosh2 (α/2), step (8)
uses the hyperbolic identity cosh2 x − sinh2 x = 1, and step (10) uses the hyperbolic
double-angle formulas.
X = F (x) = 2x + x2 n − n,
∼ ∼
Dα F (x)Dα = Dα (2x + x2 n − n) Dα
∼ ∼ ∼
= Dα 2xDα + Dα x2 nDα − Dα nDα
= 2x + x2 e−α n − eα n.
∼
Conformal Dilation: Dα F (x)Dα = 2x + x2 e−α n − eα n . (4.38)
Note that
∼
Dα F (x)Dα = eα F (e−α x).
109
4.3.1 Duality
principle highlights the symmetry between geometric objects such as points and
lines.
With duality, if we have a true proposition about “points” and “lines,” we can
obtain another true proposition by interchanging the two words. For example:
Any two distinct points determine one, and only one, line on which
they both lie.
Any two distinct lines determine one, and only one, point through
which they both pass.
different grades which allows us to use the principle of duality to extend propositions
about a set of objects to their duals. Scalars, vectors, bivectors, and trivectors all
have duals that depend on the dimension of the space we are working with.
110
3
Definition 4.3.1 (Dual).
multivector A, denoted by A* , is
A* = AI−1 . (4.39)
(e2 e3 )* = e2 e3 I−1 = e2 e3 e3 e2 e1 = e1 ,
(e3 e1 )* = e3 e1 I−1 = e3 e1 e3 e2 e1 = e2 ,
(e1 e2 )* = e1 e2 I−1 = e1 e2 e3 e2 e1 = e3 .
(e1 e2 e3 )* = e1 e2 e3 I−1 = e1 e2 e3 e3 e2 e1 = 1.
of the pseudoscalar for the space. If Bk represents a subspace U , then B*k represents
U ⊥.
3
Different authors use different definitions for dual. See Appendix A.
111
the conformal model, we need to look at how blades are used to represent geometric
objects.
the origin with normal vector a. The plane is the set {x | x · a = 0}. Note that any
non-zero multiple of the vector a, λa, also “represents” the same plane, so the
called the Inner Product Null Space (IPNS) of the blade a. Let the linearly
the set {x | x ∧ b ∧ c = 0}, called the Outer Product Null Space (OPNS) of the
bivector b ∧ c, is the same plane as the IPNS of the 1-blade a. We may take any
Because (b ∧ c)* = (b ∧ c)I−1 = λa, we see that the OPNS of the bivector
outer product) null spaces, and how their intersection with the null cone in R4,1
transformation, e.g.,
∼
R(λu + µv) = R (λu + µv)R,
∼ ∼
= RλuR + RµvR,
∼ ∼
= λRuR + µRvR,
= λR(u) + µR(v).
4.3.4 Outermorphisms
outer products.
subspaces.
an appropriately chosen A′ and B′ .), then F (A) and F (B) have F (C) in
preserved.
Reflections and rotations, as described in Sections 3.6 and 3.7, are examples of
outermorphism, i.e.,
Thus, we can rotate a bivector by rotating each vector and then taking the outer
4.3.5 Determinants
F (I) = σ I.
n column vectors from Rn , by taking the outer product of those vectors and
Because this is a null vector in the conformal model, the inner product of any
P · P = 0.
115
conformal space.
=
+ 12 x21 (n · x2 ) + 14 x21 x22 (n · n) − 1 2
x (n
4 1
· n)
− 1
2
(n · x2 ) − x (n · n) +
1 2
4 2
1
4
(n · n)
x1 · x2 + 0 −
0
=
+ 0 + 0 − 12 x21
− 0 − 12 x22 + 0
= − 12 (x2 − x1 ) · (x2 − x1 )
= − 12 |x2 − x1 |2 .
Because |x2 − x1 |2 is the square of the distance between the two points, we have
shown that the inner product of two points in the conformal model encodes the
transformation of null vectors in conformal space which leaves the inner product
In the conformal model, lines are represented by the outer product of two
ordinary points and the point at infinity, i.e., two points define a line and every line
Line: Ll = P1 ∧ P2 ∧ n , (4.45)
where P1 and P2 are the conformal mappings of two Euclidean points on the line,
The equation for a line is represented as an outer product null space (OPNS).
That is to say
OPNSline = {X | X ∧ P1 ∧ P2 ∧ n = 0}.
To show that this null set really does represent a line in R3 , we have the following
0 = X ∧ P1 ∧ P2 ∧ n
8
= 81 [(8(x ∧ p1 ∧ p2 ) − 4(x ∧ p1 ∧ n) + 4(x ∧ p2 ∧ n) − 4(p1 ∧ p2 ∧ n)) ∧ n]
1 [8(x ∧ p1 ∧ p2 ∧ n) − 4(x ∧ p1 ∧ n ∧ n)
8
=
+ 4(x ∧ p2 ∧ n ∧ n) − 4(p1 ∧ p2 ∧ n ∧ n)]
1 [8(x ∧ p1 ∧ p2 ∧ n) + 4(x ∧ p1 ∧ n ∧ n)
8
=
− 4(x ∧ p2 ∧ n ∧ n) + 4(p1 ∧ p2 ∧ n ∧ n)]
= 18 [8(x ∧ p1 ∧ p2 ∧ n) + 4(x ∧ p1 − x ∧ p2 + p1 ∧ p2 ) ∧ n ∧ n]
0 = x ∧ p1 ∧ p2 ∧ n + 21 (x ∧ (p1 − p2 ) + p1 ∧ p2 ) ∧ n ∧ n. (4.46)
Step (4) takes advantage of the fact that all terms with n become zero when we take
the outer product with n from the left. Steps (6) and (8) use the identities
n ∧ n = 0 and n ∧ pi = −pi ∧ n.
Because the two terms in Eq. (4.46) are linearly independent, they must both
x ∧ (p2 − p1 ) = p1 ∧ p2
αp1 ∧ p2 + βp1 ∧ p2 = p1 ∧ p2
(α + β)p1 ∧ p2 = p1 ∧ p2 .
Therefore,
α + β = 1. (4.48)
118
From Eqs. (4.47) and (4.48) and Lemma 3.8.9 we see that x is a point on the line
through p1 and p2 .
In the conformal model, circles are represented by the outer product of three
Circle: Lc = A ∧ B ∧ C , (4.49)
OPNScircle = {X | X ∧ A ∧ B ∧ C = 0}.
the xy-plane. The conformal model for a 2-dimensional space is R3,1 . We first note
we have
X · e1 A · e1 B · e1 C · e1
X · e2 A · e2 B · e2 C · e2
0 = X ∧ A ∧ B ∧ C = det I,
X·n A·n B·n C·n
X·n A·n B·n C·n
119
we have
X · e1 X · e2 X · n X · n
A · e1 A · e2 A·n A·n
det = 0.
B · e1 B · e2 B·n B·n
C · e1 C · e2 C·n C·n
By substituting all the inner products from the standard form Eq. (4.10) into
We can factor out a 2 from each row and rearrange the columns of the matrix
determinant [Che08, p. 3-14]. The variable x represents the locus of all points on a
We note that both circles and lines are represented by trivectors in the
conformal model. In fact, lines can be viewed as circles with infinite radius. If the
three points that define a circle are collinear, then the circle is a straight line, i.e.,
Lc ∧ n = 0 ⇒ straight line.
This explains why the earlier derivation of a line through p1 and p2 led to the
The operation Lc MLc reflects any object M in the circle Lc . Eq. (4.51) says that the
center of a circle is the image of the point at infinity under a reflection in a circle.
In the conformal model, planes are represented by the outer product of three
non-collinear ordinary points and the point at infinity, i.e., three non-collinear
Plane: Lp = A ∧ B ∧ C ∧ n , (4.52)
where A, B, and C are the conformal mappings of three Euclidean points on the
OPNSplane = {X | X ∧ A ∧ B ∧ C ∧ n = 0}.
121
To show that this null set really does represent a plane in R3 , we would first note
we have
X · e1 X · e2 X · e3 X · n X · n
A · e1 A · e2 A · e3 A · n A · n
det B · e1 B · e2 B · e3 B · n B · n = 0.
C · e1 C · e2 C · e3 C · n C · n
n · e1 n · e2 n · e3 n · n n · n
By substituting all the inner products from the standard form Eq. (4.10) into
122
x ∈ R3 .
times the determinant of the submatrix formed by crossing out row 5, column 5.
This leads to
2x 2x2 2x3 −2
1
2a1 2a2 2a3 −2
det = 0,
2b1 2b2 2b3 −2
2c1 2c2 2c3 −2
We can factor out a 2 from each row without impacting the results to get
x1 x2 x3 −1
a1 a2 a3 −1
det = 0, (4.53)
1 2 3
b b b −1
c1 c2 c3 −1
determinant [Che08, p. 3-14]. The variable x represents the locus of all points on a
In the conformal model, spheres are represented by the outer product of four
ordinary points, no three of which are collinear, i.e., four points, no three of which
Sphere: Ls = A ∧ B ∧ C ∧ D , (4.54)
where A, B, C, and D are the conformal mappings of four Euclidean points on the
OPNSsphere = {X | X ∧ A ∧ B ∧ C ∧ D = 0}.
To show that this null set really does represent a sphere in R3 , we would first note
we have
X · e1 X · e2 X · e3 X · n X · n
A · e1 A · e2 A · e3 A · n A · n
det B · e1 B · e2 B · e3 B · n B · n = 0.
C · e1 C · e2 C · e3 C · n C · n
D · e1 D · e2 D · e3 D · n D · n
By substituting all the inner products from the standard form Eq. (4.10) into
x ∈ R3 .
We can factor out a 2 from each row and rearrange the columns of the matrix
determinant [Che08, p. 3-15]. The variable x represents the locus of all points on a
We note that both spheres and planes are represented by quadvectors in the
conformal model. In fact, planes can be viewed as spheres with infinite radius. If
the four points that define a sphere are coplanar, then the sphere is a plane, i.e.,
Ls ∧ n = 0 ⇒ plane.
This explains why the earlier derivation of a plane through a, b, and c led to the
The operation Ls MLs reflects any object M in the sphere Ls . Eq. (4.56) says that
the center of a sphere is the image of the point at infinity under a reflection in a
sphere.
126
BIBLIOGRAPHY
[GLD93] S. Gull, A. Lasenby, and C. Doran, Imaginary Numbers are not Real –
The Geometric Algebra of Spacetime, Foundations of Physics 23 (1993),
no. 9, 1175–1201,
http://www.mrao.cam.ac.uk/˜clifford/introduction/intro/intro.html.
APPENDIX A
The subject of geometric algebra is new enough that standards have not yet
orthonormal σ1 , σ2 , σ3 e1 , e2 , e3 e1 , e 2 , e 3
vectors
pseudoscalar i I I
dual iA A∗k = Ak ⌋I−1
n A∗ = IA
∼
reversion A† A∼ or A A†
infinity vector e ∞ n
origin vector e0 o n
conformal map x = x + 21 x2 e + e0 p = p + 12 p2 ∞ + o X = 2x + x2 n − n
orthonormal e1 , e2 , e3 e1 , e2 , e3
vectors
pseudoscalar I i (2D) & I (3D)
dual A∗ = IA A∗ = AI−1
∼ ∼
reversion A∼ or A A∼ or A
infinity vector n e∞
origin vector n eo
conformal map X = 21 (2x + x2 n − n) p = eo + p + 21 p2 e∞
128
APPENDIX B
Hestenes and Sobczyk [HS84]. For the sake of simplicity and ease of application, we
Axiom B.1.2.
The quantity ⟨A⟩k is called the k -vector part of A. If A = ⟨A⟩k for some
Axiom B.1.4.
Axioms (B.10) and (B.11) imply that the space Gk of all k-vectors is a linear
subalgebra of G. The space G0 of all scalars is identical with the set of real numbers
R. We regard the wider definition of the scalars (e.g. the complex numbers) as
⟨M ⟩ ≡ ⟨M ⟩0 . (B.13)
Axiom B.1.5.
of any nonzero vector u is equal to the square of a unique positive1 scalar |u| called
Ak = u1 u2 · · · uk , (B.15)
Any k -vector can be expressed as the sum of k-blades. We use a bold font to
Axiom B.1.7.
For every nonzero k-blade Ak , there exists a nonzero vector u in G, such that
Ak u is an (k + 1)-blade.
B.2 Notation
important to be consistent with the notation used. In the formulas and identities
formulas and identities arranged for easy reference. This section provides such a list.
B.3.2 Reversion
∼
scalar reverse: s = s, (B.20)
∼
vector reverse: u = u, (B.21)
Consider the standard basis for G3 , B = {1, e1 , e2 , e3 , e12 , e23 , e31 , e123 }. Let eJ
represent one of these basis elements and aJ represent the scalar coefficient of the eJ
√
vector: |v| = v · v, (B.25)
B.3.4 Inverse
u
vector inverse: u−1 = (B.33)
|u|2
∼
Bk
blade inverse: B−1 = (B.34)
k
|Bk |2
134
The geometric product of two vectors has two components, a scalar (the inner
vector-vector: uv = u · v + u ∧ v (B.35)
uv = u · v, if u ∥ v, parallel (B.40)
uv = u ∧ v = −v ∧ u, if u ⊥ v, perpendicular (B.41)
w (u + v) = wu + wv, (B.45)
∑
n ∑
n
multivector-multivector: A·B = ⟨A⟩j · ⟨B⟩k . (B.54)
j=0 k=0
u · v = v · u, commutative (B.55)
(u + v) · w = u · w + v · w, distributive (B.57)
w · (u + v) = w · u + w · v,
scalar-scalar: a ∧ b = a b, (B.59)
scalar-vector: a ∧ v = a v, (B.60)
∑
n ∑
n
multivector-multivector: A∧B = ⟨A⟩j ∧ ⟨B⟩k , (B.66)
j=0 k=0
1∑
arbitrary number v1 ∧ v2 ∧ · · · ∧ vr = (−1)ϵ vk1 vk2 · · · vkr , (B.67)
r!
of vectors:
where the sum runs over every permutation
k1 , . . . , kr of 1, . . . , r, and ϵ is +1 or −1 as
the permutation k1 , . . . , kr is an even or odd
respectively.
137
v ∧ v = 0, parallel (B.68)
(u + v) ∧ w = u ∧ w + v ∧ w, distributive (B.72)
w ∧ (u + v) = w ∧ u + w ∧ v.
orthogonality.
vector-blade: u · Bk = 0 ⇔ u ⊥ Bk . (B.75)
there is a nonzero vector
blade-blade: Aj · Bk = 0 ⇔ (B.76)
in Ak orthogonal to Bk .
138
vector-vector: uv = u · v ⇔ u ∥ v. (B.78)
B.3.10 Duality
M * = M I−1 . (B.82)
Properties of Duality:
A · (B · C) = (A ∧ B) · C (B.87)
Case 1: Let v = 0, then the inequality becomes |u · 0| ≤ |u| |0|. This is true because
u · 0 = 0.
0 ≤ |u|2 − 2λ(u · v) + λ2 |v|2 = |u|2 − 2(u · v)2 /|v|2 + (u · v)2 |v|2 /|v|4
|u · v| ≤ |u| |v|.
This inequality holds for all positive definite spaces. The proof uses the
|u + v|2 = (u + v) · (u + v)
=u·u+u·v+v·u+v·v
= |u|2 + 2 |u · v| + |v|2
= (|u| + |v|)2
Method 1:
2(u · v) = u · v + u · v
=u·v+v·u
=u·u+u·v+v·u+v·v−u·u−v·v
= (u + v) · (u + v) − u · u − v · v
= (u + v)2 − u2 − v2
= u2 + uv + vu + v2 − u2 − v2
= uv + vu.
Method 2:
uv = u · v + u ∧ v, vu = v · u + v ∧ u = u · v − u ∧ v.
uv + vu = 2(u · v).
uv = u · v + u ∧ v, vu = v · u + v ∧ u = u · v − u ∧ v.
uv − vu = 2(u ∧ v).
B.4.7 u · (v ∧ w) = (u · v) w − (u · w) v
Beginning with the geometric product of three vectors and using the
uvw = (uv)w
= (−vu + 2u · v)w
(u · v) w − (u · w) v = 21 [uvw − vwu]
= 12 [u(vw) − (vw)u]
143
= 12 [u(v · w + v ∧ w) − (v · w + v ∧ w)u]
= 12 [u(v ∧ w) − (v ∧ w)u]
7
= 21 [u · (v ∧ w) + u ∧ (v ∧ w) − (v ∧ w) · u − (v ∧ w) ∧ u]
8
= 12 [u · (v ∧ w) + u ∧ (v ∧ w) + u · (v ∧ w) − u ∧ (v ∧ w)]
= 12 [2 u · (v ∧ w)]
= u · (v ∧ w).
∴ u · (v ∧ w) = (u · v) w − (u · w) v. (B.90)
Step 7: We expand the geometric product of a vector and a bivector to the sum of
u · (v ∧ w) + v · (w ∧ u) + w · (u ∧ v)
= (u · v) w − (u · w) v + (v · w) u − (u · v) w + (u · w) v − (v · w) u
=0
∴ u · (v ∧ w) + v · (w ∧ u) + w · (u ∧ v) = 0. (B.91)
Note that in the next to last step, we used the fact that the inner product
APPENDIX C
GLOSSARY
Euclidean signature.
q “negative dimensions” over the field R of real numbers with signature (p, q).
∧k
Rn – the grade k subspace of Gn , i.e., the subspace of k-vectors.
∼
M – the reversion of the multivector M .
bivector – the outer product of two vectors, also called a 2-blade. We may think
and norm. A bivector is zero if either vector is zero or if the two vectors are
that is
Mk = u1 u2 · · · uk ,
dual – for a given geometric algebra Gn with a unit pseudoscalar I, the dual of a
then B* = e3 . The dual, B*k , has a grade of n − k where n is the grade of the
U ⊥.
or a null vector.
null vector – a vector whose inner product with itself is zero. Null vectors show
up when we work with spaces of mixed signature (both positive and negative),
as with the conformal model. Null vectors are not necessarily the zero vector.
However, the zero vector is a null vector. Null vectors are not invertible.
the unit pseudoscalar I(2) = e1 ∧ e2 . The name pseudoscalar comes from the
study of dual spaces where the pseudoscalar plays the role that the scalar does
in normal space.
If B = b1 ∧ b2 ∧ · · · ∧ bk ,
∼
then B = bk ∧ bk−1 ∧ · · · ∧ b1 .
148
∼ ∼ ∼∼
(A + B)∼ = A + B, (AB)∼ = B A,
∼ ∼
⟨A⟩0 = ⟨A⟩0 , ⟨A⟩1 = ⟨A⟩1 .
∼
Note that I = I−1 . The notation of the tilde is chosen to be reminiscent of an
reversion). Examples of rotors are uv, vw, uw, where |u| = |v| = |w| = 1.
the unit pseudoscalar in the uv-plane and θ is the angle from u to v. Rotors
then it is customary to to say that the space has p “positive dimensions” and
and call (p, q) the signature of the space. An n-dimensional Euclidean space is
then written as Rn,0 , the representational space for the conformal model as
trivector – the outer product of three vectors, also called a 3-blade. We may
attitude, orientation, and norm. A trivector is zero if any of the vectors are
zero or if all three vectors are coplanar. A trivector is not the same as a
149
u, uv, uvw, etc. A versor is called even or odd depending upon whether it has