Lecture 1: Basics of Geometric Algebra: Joan Lasenby
Lecture 1: Basics of Geometric Algebra: Joan Lasenby
Joan Lasenby
[with thanks to: Chris Doran & Anthony Lasenby (book), Hugo
Hadfield & Eivind Eide (code), Leo Dorst (book)........ and of
course, David Hestenes]
July 2018
1 / 41
Contents: GA Course I, Session 1
2 / 41
Notation
3 / 41
The Inner Product
To start with, let us assume a Euclidean space (all basis vectors
square to +1). The inner or dot product between two vectors a
and b is written as a · b. If a, b 6= 0
....the inner product can then be used to define the angle (θ)
between a and b:
a · b = |a||b| cos θ
a · b = ai bi
[repeated indices mean sum: ∑i in this case] 4 / 41
The Cross Product
For two vectors a and b the cross product of the two is written
as a × b and only exists in 3-d space.
a × b = |a||b| sin θ n̂
e3 = e1 × e2 , e2 = e3 × e1 , e1 = e2 × e3
5 / 41
The Exterior, Outer or Wedge Product
The cross product fails in higher dimensions as there is no
longer the concept of a unique vector perpendicular to the
plane. It therefore seems sensible to geometrically encode the
plane itself.
6 / 41
Properties of the Wedge Product
a ∧ b = −b ∧ a, so the product is antisymmetric.
a ∧(b + c) = a ∧ b + a ∧ c
We will see how the wedge and cross products are connected
(in 3d) later.
7 / 41
The Geometric Product
Clifford’s amazing idea was to combine the inner and outer
product into a new geometric product. For two vectors a and b,
we write the geometric product as ab
ab = a · b + a ∧ b
ba = b · a + b ∧ a ≡ a · b − a ∧ b
1
a·b = (ab + ba) {symmetric}
2
and
1
a∧b = (ab − ba) {antisymmetric}
2
9 / 41
The Geometric Product is Invertible
Suppose we are given c = a · b. If we are then given a, we cannot
recover b uniquely.
Similarly, suppose we are given c = a ∧ b. If we are then given a,
we cannot recover b uniquely.
a ∧ b ∧ c = (a ∧ b)∧ c = a ∧(b ∧ c)
11 / 41
An Algebra of Geometric Objects
In an n-d space, we therefore have scalars, vectors, bivectors,
trivectors,....., n-vectors.
where we use the notation hMir to mean the r-vector part of the
multivector M.
Ar = a1 ∧ a2 ∧ . . . ∧ ar
13 / 41
Multiplying Multivectors
P = a + (b ∧ c) Q = d + (e ∧ f )
14 / 41
The Geometric Algebra of 2d Euclidean Space
Consider a plane spanned by 2 orthonormal vectors e1 , e2 , such
that
e1 2 = e2 2 = 1 and e1 · e2 = 0
1 {e1 , e2 } e1 ∧ e2
1 scalar 2 vectors 1 bivector
15 / 41
The Geometric Algebra of 2d Euclidean Space cont....
Note that, as e1 · e2 = 0:
e1 e2 = e1 · e2 + e1 ∧ e2 = e1 ∧ e2
and
e2 e1 = e2 · e1 + e2 ∧ e1 = e2 ∧ e1 = −e1 e2
Note:
I2 2 = (e1 e2 )(e1 e2 ) = −e1 e2 e2 e1 = −1
squares to -1
17 / 41
Complex Numbers and the the 2d Geometric Algebra
Recall that the unit imaginary, i, of complex numbers, squares
to -1 and performs 90◦ rotations of points in the Argand plane
(x, y)
(−y, x)
18 / 41
Rotations in 2d
Im To rotate a complex num-
reiθ ber Z = reiθ anticlockwise
φ
through an angle φ in the Ar-
rei(θ +φ) gand plane we take
Re
Z = reiθ −→ Z0 = rei(θ +φ) = eiφ Z
We will see that this final form is the most general – ie extends
to higher dimensions.
19 / 41
The Geometric Algebra of 3d Euclidean Space
1 { ei } { ei ∧ ej } e1 ∧ e2 ∧ e3
1 scalar 3 vectors 3 bivectors 1 trivector
20 / 41
Vectors and Bivectors in 3d
Basis bivectors are {e1 e2 , e2 e3 , e3 e1 } – all square to -1 and
generate 90◦ rotations in their plane.
aB = (a⊥ + ak )B
a⊥ B = a⊥ (ak ∧ b ) = a⊥ ∧ ak ∧ b
21 / 41
Vectors and Bivectors in 3d cont....
aB = a · B + a ∧ B
with dot and wedge now meaning the lowest and highest
grade parts of the geometric product.
22 / 41
The Pseudoscalar in 3d
Now take ei I:
e1 I = e1 e1 e2 e3 = e2 e3
Similarly, e2 I = e3 e1 , e3 I = e1 e2 .
23 / 41
Cross Product vs Wedge Product
We are now able to see the connection between a × b and a ∧ b.
Consider the product of a basis bivector and the 3d
pseudoscalar, I, eg
I (e1 ∧ e2 ) = e1 e2 e3 e1 e2 = −e3
a × b = −I (a ∧ b)
Ĩ = (e1 e2 e3 )˜ = e3 e2 e1 = −e1 e2 e3 = −I
M = α + a + B + βI
M̃ = α + a − B − βI
25 / 41
Rotations in 3d
..in 3d, this works for any a in the e1 e2 plane and additionally
leaves e3 unchanged.
26 / 41
Rotations in 3d cont....
Let us now rotate a general
vector a through θ in the B̂
plane (such that B̂2 = −1).
First let a = ak + a⊥ :
a0 = RaR̃
We call this exponentiation of a bivector, a rotor.
27 / 41
Rotors in 3d
A rotor is the exponential of a bivector and rotates vectors via a
double-sided formula:
a0 = RaR̃
In 3d R = e−B̂θ/2 is a scalar + bivector:
θ θ
e−B̂θ/2 = cos − sin B̂
2 2
29 / 41
Reciprocal Frames
Many problems in mathematics, physics and engineering
require a treatment of non-orthonormal frames.
Take a set of n linearly independent vectors {fk }; these are not
necessarily orthogonal nor of unit length.
Can we find a second set of vectors (in the same space), call
these {f k }, such that
f i · fj = δji
30 / 41
Reciprocal Frames
31 / 41
Reciprocal Frames cont....
We call such a frame a reciprocal frame. Note that since any
vector a can be written as a = ak fk ≡ ∑ ak fk (ie we are adopting
the convention that repeated indices are summed over), we
have
f k · a = f k ·(aj fj ) = aj (f k · fj ) = aj δjk = ak
j
fk · a = fk ·(aj f j ) = aj (fk · f j ) = aj δk = ak
E3 = f1 ∧ f2 ∧ f3
1
f1 = − (f2 ∧ f3 )I
|E3 |
and similarly for f 2 , f 3 .
33 / 41
Example: Recovering a Rotor in 3-d
fk0 = Rfk R̃
R = β(1 + fk0 f k )
34 / 41
Reflections
Take a vector a and a unit vector n (n2 = 1) – to resolve a into
parts perpendicular and parallel to n we do the following:
a = n2 a = n(na) = n(n · a + n ∧ a)
= (n · a )n + n (n ∧ a ) ≡ ak + a⊥
a0 = a⊥ − ak
= −n(a ∧ n) − (a · n)n
= −n(a · n + a ∧ n) = −nan
Ar · Bs = hAr Bs i|r−s|
Ar ∧ Bs = hAr Bs ir+s
Using the above, can make many identities very easy to prove.
36 / 41
Geometric Algebra on Azure Notebooks
1 Sign up for an Azure Notebook account if you don’t have
one (note, sometimes it does not like it if you logon with
an institutional email, if your institution already has
accounts with Azure – I sign on with gmail).
2 go to
https://notebooks.azure.com/hugohadfield/libraries/azure-clifford
and ‘clone’ the azure-clifford library (there is a ‘clone’
button).
3 go back to your Azure page and you should now see the
azure-clifford library. Open
clifford example.ipynb
4 try running these examples.
5 these notebooks use the clifford package – for info on
syntax, conventions etc, see
https://clifford.readthedocs.io/en/latest/index.html
37 / 41
Exercises 1
a ∧ b = ab − a · b and a ∧ b = −b ∧ a = −(ba − b · a)
1 1
{f 1 , f 2 , f 3 } = {e1 − (e2 + e3 ), (e3 − e2 ), e2 }
2 2
38 / 41
Exercises 2
1 The quaternion algebra of Hamilton (1805-1865) has three
‘unit imaginaries’, i,j,k, which satisfy the following
equations:
i2 = j2 = k2 − −1 and ijk = −1
Show that if we equate the quaternion imaginaries with
unit bivectors as follows:
i = e2 e3 j = −e3 e1 k = e1 e2
the above relations are satisfied.
39 / 41
Exercises 3
M M2
eM = 1 + + +...
1! 2!
Using this, verify the 2d identity used earlier,
e1 eIφ = e−Iφ e1
40 / 41
Exercises 4
41 / 41