Geometric algebra

From CGAFaq

Jump to: navigation, search

In dealing with 3D space we traditionally use an assortment of different kinds of algebraic and geometric tools. For example, we use vectors of three or four real numbers, dot products, cross products, matrices, Plücker line coordinates, plane equations, quaternions, and so on. Geometric algebra uses the underlying machinery of Clifford algebra to unify all of these.

Construction

We begin the construction of a geometric algebra with an n-dimensional vector space equipped with a quadratic form (such as x²+y²+z², based on the Euclidean norm, ‖·‖). From these, we build a sophisticated “product” and a much larger space.

Let Q(v) be the quadratic form Q applied to vector v. Define the product of v with itself, denoted by juxtaposition, as

v v = Q(v)

Insist that the product be associative and bilinear (linear on both sides). If Q(v) = ‖v‖², then the Pythagoras theorem tells us that for perpendicular vectors u and v

0 = ‖u+v‖² − ‖u‖² − ‖v‖²
= Q(u+v) − Q(u) − Q(v)
= (u+v)(u+v) − u uv v
= u(u+v) + v(u+v) − u uv v
= u u + u v + v u + v vu uv v
= u v + v u

Now we know that the product of parallel vectors is a number (the product of the lengths, by linearity), and that the product of perpendicular vectors anticommutes (u v = −v u). We have not said whether this latter product result is a vector or a scalar; in fact, it is neither. This is how our algebra grows; the product of perpendicular vectors is a new kind of object that we call a bivector.

As our algebra grows, we insist that our product applies to everything in it. Thus we now have

  • (scalar, scalar) → scalar (from scalar arithmetic)
  • (scalar, vector) → vector (from vector field arithmetic)
  • (vector, vector) → scalar (if parallel)
  • (vector, vector) → bivector (if perpendicular)
  • (vector, vector) → scalar + bivector (in general, from linearity)

Now suppose vectors e1, …, en are an orthonormal basis for our vector space, such as x, y, z for 3D. If we take the product of n+1 of these vectors, then two of them must be equal; by associativity, anticommutativity of perpendiculars, and linearity they cancel to a scalar factor. This provides a natural limit on the size of the algebra. For reasons explained below, the product of n orthogonal vectors is called a pseudoscalar. Thus in 3D we can have scalars, vectors, bivectors, and pseudoscalars, but nothing higher.

y x y z = − y y x z
= − 1 x z
= − x z

It is convenient to create an auxiliary product based on just the perpendicular parts. We call this the wedge product, defined as

uv = ½ (u vv u)

Thus the wedge product of any two vectors, whether perpendicular or not, is a pure bivector. In 3D, for example,

(3x+y)∧(yz) = ½ ((3x+y)(yz) − (yz)(3x+y))
= ½ ((3 x y − 3 x z + y yy z) − (3 y x + y y − 3 z xz y))
= ½ (6 x y − 6 x z − 2 y z)
= 3 x yy z + 3 z x

Every term in the final sum is a bivector, the two y y terms have cancelled out what would have been a scalar portion. Of course, for two perpendicular vectors the wedge product yields the same result as the full product.

In general every 3D bivector is, as in the example, a linear combination of a bivector basis we write as xy, yz, zx. A basis for 3D pseudoscalars is the single object xyz. Thus 3D geometric algebra consists of a 1D scalar space, a 3D vector space, a 3D bivector space, and a 1D pseudoscalar space, giving altogether an eight-dimensional space of multivectors in which anything can multiply anything.

Applying the same reasoning to a 2D algebra, we have 1D scalars (basis 1), 2D vectors (basis x, y), and 1D pseudoscalars (basis xy). For technical reasons, like homogeneous coordinates, we will also want vectors of higher dimensions. The general structure exhibits the number of possible distinct combinations of basis vectors. Thus the geometric algebra based on n-dimensional vectors is a ranked algebra, with each rank having dimension given by the binomial coefficient n?k = n!/k!(nk)!, where k ranges from 0 to n. By a well-known theorem of combinatorics, the sum of all the dimensions is 2n.

The equality n?k = n?(nk) also suggests a pairing, called duality, between upper ranks and lower ones. Duality is one reason for the term “pseudoscalar”, and multiplication by the negative pseudoscalar unit (denoted here by “−⊤”) converts any rank to its dual.

As a further example the 5D geometric algebra with quadratic form w²+x²+y²+z²−r², sometimes called the conformal algebra, has ranks and dimensions given by the following table.

rank 0 1 2 3 4 5
dim. 1 5 10 10 5 1

By a suitable choice of basis every quadratic form can be written

e1 + ⋯ + epep+1 − ⋯ − ep+q

with +1 for p terms, −1 for q terms, and the rest zeros. Assuming p+q equals the dimension of the vector space, the underlying Clifford algebra is called Cℓ(p,q). An abbreviated form, Cℓ(n), indicates the common case of consistent sign; unfortunately, different authors use different conventions, Cℓ(n) = Cℓ(n,0) or Cℓ(n) = Cℓ(0,n).

Geometric operations

The full geometric product of vectors, u v, is closely related to both the cross product, u×v, and the dot product, u·v.

Only in 3D is the cross product available, by dualizing the bivector result of the wedge product.

u×v = (uv)(−⊤)

Thus

x×y = (xy)(−xyz) = (xy)(yxz)= z
y×z = (yz)(−xyz) = (yz)(zyx)= x
z×x = (zx)(−xyz) = (zx)(xzy)= y

However, the wedge product alone can replace many uses of the cross product.

The dot product of two vectors is available in Cℓ(n) for any n, as

u·v = ½ (u v + v u).
Personal tools