This FAQ is maintained by Leo Dorst.
====================================================================
Q1.
WHAT IS GEOMETRIC ALGEBRA?
Geometric algebra is a consistent framework for all mathematics
related to geometry. It incorporates and relates the frameworks of
linear algebra, vector calculus, differential geometry (and more).
It moreover embeds and extends computational techniques
and oddities such as homogeneous coordinates, quaternions,
Plücker coordinates. It is more practical than it sounds!
Q2.
HOW DOES IT EMBED AND EXTEND FAMILIAR TECHNIQUES?
Geometric algebra allows more than vectors and matrices to represent
objects and operators. It has a 'span' (outer) product, which makes
general subspaces elements of computation. It has an invertible
`geometric product', which allows you to divide by subspaces.
It has a `versor product' which allows you to use subspaces as
operators (e.g. a plane for reflection).
(By the way, all of these are just different aspects of one basic product,
the geometric product.)
Q3.
IS GEOMETRIC ALGEBRA VERY DIFFICULT?
No, when explained in the right way geometric algebra is quite accessible,
and immediately usable (assuming you know a bit of linear algebra to begin
with). You can get an overview in 2 hours by reading this
two-part tutorial:
(I,
II).
You can learn much in a day by doing one of our
interactive tutorials .
At the very least,
it will immediately enrich your understanding an usage of linear algebra,
and give a straightforward way of looking at quaternions and Plucker
coordinates (i.e. 3D line representations).
Q4.
WHAT ARE ITS DISADVANTAGES?
Geometric algebra achieves its simplified structure by representing
subspaces as basic elements of computation. We get simpler operations,
but on more involved objects.
A general element of the geometric algebra of an n-dimensional vector space
needs 2^n numbers to be specified. (So for 3D, 8 numbers -- but the nicest
algebra to deal with 3D Euclidean space is actually the GA of a
5-dimensional space, which requires 32 numbers for every entity.)
This is not as bad as it seems, because geometrically useful objects
have structure we can explore to reduce their representation. Still, any
practical application software needs to overcome this. (To give an
indication,
it looks like the 5D model of 3D Euclidean space would be about 2 times
slower than doing 3D linear algebra.)
assembly?
Q5.
HOW DOES IT RELATE TO LINEAR ALGEBRA?
Geometric algebra enriches linear algebra. Classical linear algebra
is very efficient when you can represent your objects by vectors
(by duality, vectors can also denote hyperplanes), but has to use rather
specific tricks to bring other objects within this straightjacket. Those
tricks (e.g. the 3D cross product) confuse the actual geometrical
and computational structure.
Even elementary knowledge of geometric algebra helps you separate
those tricks from the essence, and this is very helpful to do your
linear algebra better (even
without actually using GA in your code). A bit more familiarity and you
find that you start specifying your operations in GA, then reduce them to
LA; and soon after, you may substitute parts of your code by a GA-based
implementation. That is what happened to us, and it was fun all the way.
(Whenever I now use classical linear algebra in a sophomore class,
it really feels like specifying an algorithm or solution in assembly
language, with coordinates being the registers. Fast but unwieldy,
and mixing up representation and geometrical essence.)
Q6.
ARE THERE GOOD IMPLEMENTATIONS OF GA AVAILABLE?
The practically minded computer science part of the GA community is
working on generally available implementations.
Check out the current status :
here.
Q7.
IS GA DONE YET?
The basic structure of GA is clear (no matter what mathematicians say).
But as to how to use it efficiently to model applications,
we're still learning. The conformal model of Euclidean geometry,
which looks like the most powerful new technique to come out of GA,
is still in vigorous development, with new tools being recognized
every month. Still, those are only ways of doing things even better,
with what is there now you can already improve your applications,
or your thinking about them (see
HOW DOES IT RELATE TO LINEAR ALGEBRA?).
Q8.
HOW CAN I LEARN IT?
We have tutorial material for you, aiming to strike the right balance
between the basic mathematics, and the use in modelling applications.
Look here.
Q9.
IS IT TRUE THAT QUATERNIONS ARE REAL IN GEOMETRIC ALGEBRA?
Yes. Quaternions represent rotations in 3D. The mathematics of rotations
requires certain elements that 'square to -1': these are the 90-degree turns
in any plane, since when done twice on a vector v they result in
-v. In geometric algebra, the real rotation planes themselves have
this property -- the square of their bivectors under the geometric product
is negative.
Therefore the appropiate algebra, identical to the quaternion
algebra, is expressed completely in real geometric elements
(no need at all for some strange kind of 'complex vectors'). Moreover,
the resulting rotors can be applied on any object (not just vectors)
and this construction works in any dimension (not just 3-D).
Q10.
IS GEOMETRIC ALGEBRA COORDINATE-FREE?
Depending on how you use it, GA is coordinate-free at different levels.
The outer product for spanning spaces allows you to compactly formulate
things in which linear algebra would have to resort to a coordinate-based
specification, even at the lowest level of representing 3D Euclidean space
by 3D GA.
Homogeneous coordinates allow you to reduce the special role of the origin,
as usual, and the techniques get much extended, naturally incorporating
homogeneous line representation in 3D by using a 4D GA.
But only in the conformal model of Euclidean geometry (5D GA for 3D
Euclidean)
does GA allow fully coordinate-free computations.
Q11.
HOW IS IT DIFFERENT FROM CLIFFORD ALGEBRA?
It is basically the same, although Clifford algebra (in the way
mathematicians
look at it) neglects the geometrical semantics of its objects and
operations.
My pet peeve is that allowing addition as a construction operation
to create elements of Clifford algebra inhibits consistent geometrical
interpretation. I find that if I do only multiplicative constructions
starting from scalars and vectors, I can maintain geometric
interpretability,
and that we get stronger theorems and techniques. So I like to think of
geometric algebra, vaguely mathematically, as the factorizable part of Clifford
algebra. This is still an open issue, but a bit too subtle to
be important on a first acquaintance.
Q12.
HOW IS IT DIFFERENT FROM GRASSMANN-CAYLEY ALGEBRA?
Grassmann-Cayley algebra also uses subspaces as basic elements of
computation,
but is not as explicit in introducing a metric (it does something similar
but weaker through its duality operator). As a consequence, it does
not have an invertible product, and this makes using it much less flexible.
For certain applications (such as projective geometry) it has just enough
structure, and people have used it succesfully for that.
Since geometric algebra contains GC-algebra, I prefer using the larger
framework throughout, with the application automatically limiting the set
of operations actually required. (Being simpler and older, GCA has been
straightened out more, and concise introductory texts are available in
application books such as
this
by Faugeras et al.)