# Main Page

## Rigid Geometric Algebra

This wiki is a repository of information about Rigid Geometric Algebra, and specifically the four-dimensional Clifford algebra $$\mathcal G_{3,0,1}$$. This is a mathematical model that naturally incorporates representations for Euclidean points, lines, and planes in 3D space as well as operations for performing rotations, reflections, and translations in a single algebraic structure. It completely subsumes conventional models that include homogeneous coordinates, Plücker coordinates, quaternions, and screw theory (which makes use of dual quaternions). This makes rigid geometric algebra a natural fit for areas of computer science that routinely use these mathematical concepts, especially computer graphics and robotics.

Rigid geometric algebra is an area of active research, and new information is frequently being added to this wiki.

**If you are experiencing problems with the LaTeX on this site, please clear the cookies for rigidgeometricalgebra.org and reload.**

## Introduction

In the four-dimensional rigid geometric algebra, there are 16 graded basis elements. These are listed in Table 1.

There is a single *scalar* basis element that we denote by $$\mathbf 1$$, in bold, and its multiples correspond to the real numbers, which are values that have no dimensions.

There are four *vector* basis elements named $$\mathbf e_1$$, $$\mathbf e_2$$, $$\mathbf e_3$$, and $$\mathbf e_4$$ that have one-dimensional extents. A general vector $$\mathbf v = (v_x, v_y, v_z, v_w)$$ has the form

- $$\mathbf v = v_x \mathbf e_1 + v_y \mathbf e_2 + v_z \mathbf e_3 + v_w \mathbf e_4$$ .

There are six *bivector* basis elements named $$\mathbf e_{23}$$, $$\mathbf e_{31}$$, $$\mathbf e_{12}$$, $$\mathbf e_{41}$$, $$\mathbf e_{42}$$, and $$\mathbf e_{43}$$ having two-dimensional extents. These correspond to all possible wedge products between pairs of vector basis elements up to order. We use the multiple subscript notation $$\mathbf e_{ij}$$ as shorthand for the wedge product $$\mathbf e_i \wedge \mathbf e_j$$. Numerical subscripts for the bivector basis elements are always written in the order shown in Table 1, and the bivectors are negated when basis vectors are multiplied in the opposite order. For example, $$\mathbf e_3 \wedge \mathbf e_2 = -\mathbf e_{23}$$.

There are four *trivector* basis elements named $$\mathbf e_{423}$$, $$\mathbf e_{431}$$, $$\mathbf e_{412}$$, and $$\mathbf e_{321}$$ having three-dimensional extents. These correspond to all possible wedge products of three different vector basis elements. Again, numerical subscripts will always be written exactly as shown in the table, and negation will be applied for any odd permutation of the multiplication order.

Finally, there is a single *quadrivector* basis element $$\mathbf e_1 \wedge \mathbf e_2 \wedge \mathbf e_3 \wedge \mathbf e_4$$ having four-dimensional extents. Because the quadrivector element has only one component, it is often called the *pseudoscalar*, and it is often denoted by $$\mathbf I_4$$. The subscript 4 corresponds to the number of dimensions, and it is usually dropped when the dimensionality is clear from the context. Because the quadrivector contains all four dimensions, it is also called the *volume element* of the algebra, and this is often denoted by $$\mathbf E_4$$. We use the notation

- $${\large\unicode{x1D7D9}} = \mathbf e_1 \wedge \mathbf e_2 \wedge \mathbf e_3 \wedge \mathbf e_4$$ ,

with a blackboard bold $${\large\unicode{x1D7D9}}$$, to emphasize that the volume element is in symmetric opposition to the scalar basis element $$\mathbf 1$$ and is equally functional within the algebra. We refer to multiples of the basis element $${\large\unicode{x1D7D9}}$$ as *antiscalars*. Scalars and antiscalars are two sides of the same coin, and neither has a place of greater importance. We eschew the term pseudoscalar due to its portrayal of the element $${\large\unicode{x1D7D9}}$$ as different from and perhaps somewhat less significant than the element $$\mathbf 1$$. It is not.

As shown in the rightmost column in the table, each of the basis elements can be identified by which specific multiplicative combination of the four available dimensions it represents. This is essentially a four-bit code in which black bars correspond to the dimensions that are present or *full*, and white bars correspond to the dimensions that are absent or *empty*. The *grade* of a basis element $$\mathbf x$$, denoted by $$\operatorname{gr}(\mathbf x)$$, is the number of black bars it has, which is the same as the number of vector basis elements in its factorization.

For a thorough understanding of the algebraic structure, it is critically important to recognize that there is a fundamental symmetry at work. We have assigned a dimensionality to each basis element according to the number of full dimensions it has, but it is equally valid to assign a dimensionality according to the number of empty dimensions each one has. Vectors, bivectors, and trivectors have dimensions one, two, and three when we count the black bars. However, from the opposite perspective, vectors, bivectors, and trivectors have dimensions three, two, and one when we count the white bars. Both of these interpretations are simultaneously correct, and together they establish the concept of *duality*. Duality is always present, and it pervades geometric algebra. It can be found not only in the elements of the algebra but in the operations that act on those elements.

In addition to the grade, we can assign an *antigrade* to each basis element $$\mathbf x$$. Denoted by $$\operatorname{ag}(\mathbf x)$$, the antigrade of $$\mathbf x$$ is the number of vector basis elements missing from its factorization, which is the number of white bars in the table. Of course, it is always the case that

- $$\operatorname{gr}(\mathbf x) + \operatorname{ag}(\mathbf x) = n$$ ,

where $$n$$ is the total number of dimensions in the algebra. Whenever we can make a statement about how an operation relates to the grade of its inputs and outputs, we can make the same statement about how the dual operation relates to the antigrade of its inputs and outputs.

In an $$n$$-dimensional algebra, the elements with grade $$n - 1$$ are called *antivectors*. Antivectors have the same number of components as vectors, and the two can be regarded as the dimensional inverses of each other. Vectors have grade one because they have one full dimension, and antivectors have antigrade one because they have one empty dimension.

## Pages

### The five main types of rigid geometric objects

### Various properties and unary operations

- Grade and antigrade
- Bulk and weight
- Duality
- Complements
- Reverses
- Geometric norm
- Geometric property
- Unitization

### Products and other binary operations

- Geometric products
- Exterior products
- Interior products
- Dot products
- Join and meet
- Projections
- Commutators
- Euclidean distance

### Isometries of 3D space

## Two-Dimensional Geometry

The three-dimensional algebra $$\mathcal G_{2,0,1}$$, which deals with points, lines, and isometries in 2D space, is discussed on the following page.