Google+ Badge


Sunday, July 3, 2011

A Geometry for the Many-Angled Ones

You may know (or not) that I've become quite fond of the science fiction of Charlie Stross, a British writer living in Scotland, especially the "Laundry Files" series.  The Laundry is a highly-classified British Intelligence and Counter-Espionage agency whose primary brief is the protection of the United Kingdom against the depredations of evil extra-dimensional beings who wish to invade, possess, destroy, and otherwise prey on humans and their world.

The basic conceit is that H. P. Lovecraft's writings are true: there are beings of great power lurking just around the corner in a higher-dimensional multiverse, beings who can be called forth using forms of geometry and computer software.  In the world of the Laundry, Alan Turing didn't just invent the mathematical underpinnings of the theory of computation; the secret part of his work that the rest of the world didn't get to see shows how mathematics and computer programs can be used to do what amounts to "magic".  Stross' hero, Bob Howard, is a middle-echelon IT sysadmin and secret agent, recruited into the Laundry just before his university computer graphics project could invite in beings that would have leveled the city of Wolverhampton1.

Now it happens that I've been researching modern geometry in the last year or two.  One of the subjects I've been studying intensively, for use in a software project I hope to blog about in the near future, is a field called "Geometric Algebra"2.  And Geometric Algebra just might be the geometry that Lovecraft's "Many-Angled Ones" use in navigating their sinister travels through the universes..  I'll explain more after the cut.  Don't be too bothered by the mathematical terms; I'll try to summarize the meaning of it all so you won't have a mathematician to get it.  And I'll try not to get eaten by the Great Old Ones before I finish.

One of the the things that always bugged me about geometry was that even after Klein's Erlangen Program3, which tried to build a single framework for all of geometry, there was no single formalism I had heard of that could contain geometries of different dimensions, like Plane and Solid Geometry, and that some of the more recent fields like differential geometry and linear algebra weren't coordinate-free, meaning that do any computation with them you've got use formulas that expand each point into a set of coordinate numbers, 1 for each dimension. Trying to learn about geometrical objects and their characteristics while hassling with the coordinates that describe them is really frustrating; all the coordinate shrubbery makes it hard to see the geometrical trees.  Messing with the coordinates and having to think of everything as matrices is probably what's kept me from really learning Tensor Calculus and studying General Relativity, which is based on it.

But wait, there's hope, and it's not even new!  Hermann Grassman developed an algebra in the mid-19th century based on multiplying arbitrary numbers of vectors together to create other geometric objects in any dimension.  So, for instance in the 2 dimensional plane, like you're looking at now:

A point is composed of 0 vectors:
A line is composed of 1 vector:
An area is composed of 2 vectors:

In 3D you have the point, line and area (a plane) as well as:

A volume is composed of 3 vectors:

... and so on ...

Grassman's work met with a deafening silence, and it wasn't until the year of his death that it was rediscovered by J. Willard Gibbs, who was inspired to invent the Vector Calculus (but not, regrettably, the Multivector Calculus).  About the same time it was independently rediscovered by William Kingdon Clifford, who built what later was called Clifford Algebra on top of it.  Clifford's algebra is composed of elements which are combinations of Grassman's multivectors.  This algebra turns out to be what we now call "Geometric Algebra", at least after it in turn was forgotten and then rediscovered in the middle of the 20th century.

Let's take a Clifford algebra for 3 dimensional Euclidean geometry, the kind they probably called "Solid Geometry" in your high-school geometry class as an example.  The base geometry is constructed using three unit vectors at right-angles4, you can form any other vector by summing multiples of the unit vectors. So in classic Solid Geometry, what you have to work with when you want to compute the sizes, distances, and intersections of various geometric objects like lines and circles and planes and spheres is just vectors and their coordinates. That can get tedious. The Clifford Algebra that represents 3D Euclidean geometry has 8 components instead of 3: 1 number, 3 vectors, 3 bivectors (each the product of 2 vectors as in the drawing above), and 1 trivector (a volume). It turns out if you use combinations of these elements to describe your geometric objects you can do the same things you did before (you still have 3 vector components) but in addition, you can have additional data in those other components that let you find distances and intersections (and a lot of other useful information) using simple and (computationally) cheap numerical operations.  And computationally cheap is exactly what you want when you're writing computer programs for graphics and visualization of geometry.

On top of that, it's easy to switch from Euclidean geometries to Non-Euclidean geometries in whatever dimensions you like, without changing the operations that work on the geometric objects.  This is where the Many-Angled Ones would find it useful, because they could describe their own awful geometries in the same terms as our ordinary one, and perhaps even create geometries that bridge between the two.  We'd better be careful how we use these tools lest some poor graduate student unwittingly open a portal into a dark universe and let loose something evil.

In the near future I'll post a description of the project I'm working for which I need Geometric Algebra; in the meantime, I highly recommend that you get a copy of the first Laundry novel, The Atrocity Archives.

1. There seems to be some confusion about whether it was Wolverhampton or Birmingham that was almost annihilated, but as they're only about 15 miles apart I assume that the averted catastrophe would have fallen on them both.

2. Not "Algebraic Geometry", RenĂ© Descartes' bane of high school students . They're very different subjects.

3. Klein managed to put Projective, Affine, Euclidean, Inversive, Spherical, and Hyperbolic geometries together by defining each as the study of those geometric entities that are invariant under certain classes of transformation.  For instance, Euclidean geometry is invariant under translations, rotations, and reflections.  But there's no good way to talk about the similarities and differences of 2 and 3 dimensional forms of these geometries, and so each kind is based on a grab-bag of special tricks and techniques.  For instance, 3-dimensional rotations are often represented as quaternions, but there's no way to generalize quaternions to, say 2 dimensions, or 4 for that matter.

4. Yes, I know that a basis set of vectors doesn't need to be either unitary or orthogonal, but I'm trying to keep it simple for the non-mathematicians who've made it this far. This description works "without loss of generality" as the saying goes.

No comments: