# Geometric algebra

A geometric algebra is the Clifford algebra of a vector space over the field of real numbers endowed with a quadratic form. The spacetime algebra and the conformal geometric algebra are specific examples of such geometric algebras. The term is also used as a collective term for the approach to classical, computational and relativistic geometry that applies these algebras.

A key feature of GA is its emphasis on geometric interpretations of certain elements of the algebra (the multivectors) as geometric entities. A multivector may be any of: a scalar (also called 0-vector), a vector (or 1-vector), a bivector (2-vector), a trivector (3-vector), a n-vector of higher order, or any combination thereof. For example, certain n-vectors can be interpreted to represent subspaces of the vector space. Via this interpretation of multivectors as geometric entities, geometric operations are realized as algebraic operations in the algebra. Moreover, since vector and scalars exist side-by-side in the geometric algebra, it is possible for a vector to be added to a scalar – an operation that does not occur in conventional linear algebra. It turns out that, in addition to being possible, the sum of a scalar and a vector has meaningful interpretations and practical uses.

Proponents argue[1] that it provides compact and intuitive descriptions in many areas including classical and quantum mechanics, electromagnetic theory and relativity. Others claim that in some cases the geometric algebra approach is able to sidestep a "proliferation of manifolds"[2] that arises during the standard application of differential geometry. The associated geometric calculus is a generalization of vector calculus that is an alternative to the use of differential forms and Hodge duality.

In 1878, the year before his death, Clifford expanded upon Grassmann's Ausdehnungslehre to form what are now usually called Clifford algebras in his honor although Clifford himself chose to call them "geometric algebras" and this term was repopularized by Hestenes[3] in the 1960s. Geometric algebra (GA) finds application in physics, in graphics and in robotics.

## Definition and notation

Given a finite dimensional real quadratic space V = Rn with quadratic form Q : VR, the geometric algebra for this quadratic space is the Clifford algebra Cℓ(V,Q).

The algebra product is called the geometric product. It is standard to denote the geometric product by juxtaposition.

For quadratic forms of any signature, an orthogonal basis {e1,...,en} can be found for V such that each ei2 is either −1, 0 or +1. The number of ei's associated with each of these three values is expressed by the signature, which is an invariant of the quadratic form.

When Q is nondegenerate there are no 0's in the signature, and so an orthogonal basis of V exists with p elements squaring to 1 and q elements squaring to −1, with p + q = n. We denote this algebra $\mathcal{G}(p,q)$. For example, $\mathcal G(3,0)$ models 3D Euclidean space, $\mathcal G(1,3)$ relativistic spacetime and $\mathcal G(4,1)$ a 3D Conformal Geometric algebra.

### Standard bases and the geometric product

Standard n-vector basis; unit scalar 1 (represented by a black number line), unit vectors, unit bivectors, and a unit trivector, all in 3d.

Viewing the geometric algebra as a quotient of the tensor algebra, the geometric algebra's product is inherited from the tensor algebra. However, some authors introduce the geometric product in the following way by defining the product on a standard basis.

One can always find a basis $\{e_1,\cdots,e_n\}$ for V such that

$e_i \cdot e_j = 0 \,$ for all ij (orthogonality) and
$\,e_i \cdot e_i = Q(e_i) \in \{-1,0,1\}$.

The set of all possible products of these n symbols with indices in increasing order, including 1 as the empty product, then forms a basis for the geometric algebra (an analogue of the PBW theorem). For example, the following is a basis for the geometric algebra $\mathcal{G}(3,0)$:

$\{1,e_1,e_2,e_3,e_1e_2,e_1e_3,e_2e_3,e_1e_2e_3\}\,$

A basis formed this way is called a standard basis for the geometric algebra, and any other orthogonal basis for V fitting the above description will produce another standard basis. Each standard basis consists of 2n elements.

Given a standard basis, the geometric product between elements of the algebra is completely described by the rules:

• $\,e_ie_i=Q(e_i)$
• $\,e_ie_j=-e_je_i$ for ij (orthogonal vectors anticommute)
• $\,e_i \alpha = \alpha e_i$ (scalars commute)
• $\,(AB)C = A(BC) = ABC$ (associativity of the geometric product)
• $\,(A+B)C=AC+BC$ and $\,C(A+B)=CA+CB$ (distributivity of the geometric product over addition).

The first four rules give the geometric product of any two elements in the standard basis as another up to a sign or zero. A few example computations follow:

$\,(e_1e_2)(e_3e_4)=e_1e_2e_3e_4$
$\,(e_2)(e_1e_2e_4)=(e_2e_1)(e_2e_4)=-(e_1e_2)(e_2e_4)=-e_1(e_2e_2)e_4=-Q(e_2)e_1e_4.$

The geometric product of any two elements in the algebra can be computed with these rules, including the last. Specifically, if the standard basis elements are {bi | iS} with S being an index set, then

$(\Sigma_i \alpha_i b_i)(\Sigma_j \beta_j b_j)=\Sigma_{i,j} \alpha_i\beta_j b_i b_j\,$.

Geometric interpretation for the outer product of n vectors (u, v, w) to obtain an n-vector (parallelotope elements), where n = grade,[4] for n = 1, 2, 3. The "circulations" show orientation.[5]

Using a standard basis, a graded vector space structure can be established. A vector which happens to have grade n is called an n-vector, or sometimes a grade n vector. This grading does not make the algebra a graded algebra with the Clifford product,[6] but the grading does form a graded algebra using the exterior product, defined later.

Ordinary vectors (those in V) are in the span of $\{e_1,\cdots,e_n\}$ and are called 1-vectors. Scalars are called 0-vectors. Elements in the span of $\{e_ie_j\mid 1\leq i are called 2-vectors, and elements in the span of $\{e_ie_je_k\mid 1\leq i are called 3-vectors and so on until the last grade of n-vectors. Many of the elements of the algebra are not graded by this scheme since they are sums of elements of differing grade. Such elements are said to be of mixed grade.

Generic elements of the geometric algebra are usually called multivectors with the term vector usually reserved for 1-vectors. The grading of multivectors is independent of the orthogonal basis chosen originally.

A multivector $A$ may be decomposed with the grade projection operator $\langle A \rangle _r$ which outputs the grade r portion of A. As a result:

$A = \sum_{r=0}^{n} \langle A \rangle _r$

As an example, the geometric product of two vectors $a b = a \cdot b + a \wedge b = \langle a b \rangle_0 + \langle a b \rangle_2$ since $\langle a b \rangle_0=a\cdot b\,$ and $\langle a b \rangle_2 = a\wedge b\,$ and $\langle a b \rangle_i=0\,$ for i other than 0 and 2.

### Inner and outer products

Given two vectors a and b, if the geometric product ab is[7] anticommutative; they are perpendicular (top) because ab = −ba and a · b = 0, if it's commutative; they are parallel (bottom) because ab = 0 and a · b = b · a.

There are two other important operations on V × V in the geometric algebra besides the geometric product. Let a and b be elements of V:

• The inner product on V is the symmetric bilinear form arising as the symmetric part of geometric multiplication (and equivalently the bilinear form arising from the quadratic form Q), and is denoted by $a \cdot b$. It is related to the geometric product and quadratic form by these equations:
$a \cdot b = \tfrac{1}{2}(ab+ba)=b \cdot a$
$aa =a \cdot a= Q(a)$
The inner product of two vectors is always a 0-vector of the algebra.
• The outer product on V, denoted with ∧, arises as the antisymmetric part of the geometric product:
$a \wedge b = \tfrac{1}{2}(ab-ba)=-b \wedge a$
$a\wedge a=0$
The outer product of two vectors is always a 2-vector of the algebra.
• The inner and outer products are united into the geometric product since
$ab = a \cdot b + a \wedge b$,
Thus the geometric product of two vectors is in general of mixed grade.

If aa ≠ 0 for some vector a, then a−1 exists and is equal to a/(aa). For a positive-definite or negative-definite quadratic form, all nonzero vectors have multiplicative inverses. Not all the elements of the algebra are invertible. For example, if u is a unit vector in V (i.e. a vector such that uu = 1), the elements 1 ± u have no inverse since they are zero divisors: (1 − u)(1 + u) = 1 − uu = 1 − 1 = 0.

Vectors will be represented by lower case letters (e.g. a), and multivectors by upper case letters (e.g. A). Scalars will be represented by Greek characters.

### Representation of subspaces

Geometric algebra represents subspaces of V as multivectors, and so they coexist in the same algebra with vectors from V. A k dimensional subspace W of V is represented by taking an orthogonal basis $\{b_1,b_2,\cdots b_k\}$ and using the geometric product to form the blade D = b1b2⋅⋅⋅bk. There are multiple blades representing W; all those representing W are scalar multiples of D. These blades can be separated into two sets: positive multiples of D and negative multiples of D. The positive multiples of D are said to have the same orientation as D, and the negative multiples the opposite orientation.

Blades are important since geometric operations such as projections, rotations and reflections are implemented by using the geometric product to multiply vectors and blades.[clarification needed]

### Unit pseudoscalars

Unit pseudoscalars are blades that play important roles in GA. A unit pseudoscalar for a non-degenerate subspace W of V is a blade that is the product of the members of an orthonormal basis for W. It can be shown that if I and I′ are both unit pseudoscalars for W, then I = ±I′ and I2 = ±1.

Suppose the geometric algebra $\mathcal{G}(n,0)$ with the familiar positive definite inner product on Rn is formed. Given a plane (2-dimensional subspace) of Rn, one can find an orthonormal basis {b1,b2} spanning the plane, and thus find a unit pseudoscalar I = b1b2 representing this plane. The geometric product of any two vectors in the span of b1 and b2 lies in $\{\alpha_0+\alpha_1 I\mid \alpha_i\in\mathbb{R} \}$, that is, it is the sum of a 0-vector and a 2-vector.

By the properties of the geometric product, I 2 = b1b2b1b2 = −b1b2b2b1 = −1. The resemblance to the imaginary unit is not accidental: the subspace $\{\alpha_0+\alpha_1 I\mid \alpha_i\in\mathbb{R} \}$ is R-algebra isomorphic to the complex numbers. In this way, a copy of the complex numbers is embedded in the geometric algebra for each 2-dimensional subspace of V on which the quadratic form is definite.

It is sometimes possible to identify the presence of an imaginary unit in a physical equation. Such units arise from one of the many quantities in the real algebra that square to −1, and these have geometric significance because of the properties of the algebra and the interaction of its various subspaces.

In $\mathcal{G}(3,0)$, an exceptional case occurs. Given a standard basis built from orthonormal ei's from V, the set of all 2-vectors is generated by

$\{e_3e_2,e_1e_3,e_2e_1\}\,$.

Labelling these i, j and k (momentarily deviating from our uppercase convention), the subspace generated by 0-vectors and 2-vectors is exactly $\{\alpha_0+i\alpha_1+j\alpha_2+k\alpha_3\mid \alpha_i\in\mathbb{R}\}$. This set is seen to be a subalgebra, and furthermore is R-algebra isomorphic to the quaternions, another important algebraic system.

### Extensions of the inner and outer products

It is common practice to extend the outer product on vectors to the entire algebra. This may be done through the use of the grade projection operator:

$C \wedge D := \sum_{r,s}\langle \langle C \rangle_r \langle D \rangle_s \rangle_{r+s} \,$ (the outer product)

The inner product on vectors can also be generalised, but in more than one non-equivalent way. The paper (Dorst 2002) gives a full treatment of several different inner products developed for geometric algebras and their interrelationships, and the notation is taken from there. Many authors use the same symbol as for the inner product of vectors for their chosen extension (e.g. Hestenes and Perwass). No consistent notation has emerged.

Among these several different generalizations of the inner product on vectors are:

$\, C \;\big\lrcorner\; D := \sum_{r,s}\langle \langle C\rangle_r \langle D \rangle_{s} \rangle_{s-r}$   (the left contraction)
$\, C \;\big\llcorner\; D := \sum_{r,s}\langle \langle C\rangle_r \langle D \rangle_{s} \rangle_{r-s}$   (the right contraction)
$\, C * D := \sum_{r,s}\langle \langle C \rangle_r \langle D \rangle_s \rangle_0$   (the scalar product)
$\, C \bullet D := \sum_{r,s}\langle \langle C\rangle_r \langle D \rangle_{s} \rangle_{|s-r|}$   (the "(fat) dot" product)
$\, C \bullet_H D := \sum_{r\ne0,s\ne0}\langle \langle C\rangle_r \langle D \rangle_{s} \rangle_{|s-r|}$   (Hestenes's inner product)[8]

(Dorst 2002) makes an argument for the use of contractions in preference to Hestenes's inner product; they are algebraically more regular and have cleaner geometric interpretations. A number of identities incorporating the contractions are valid without restriction of their inputs. Benefits of using the left contraction as an extension of the inner product on vectors include that the identity $ab = a \cdot b + a \wedge b$ is extended to $aB = a \;\big\lrcorner\; B + a \wedge B$ for any vector a and multivector B, and that the projection operation $\mathcal{P}_b (a) = (a \cdot b^{-1})b$ is extended to $\mathcal{P}_B (A) = (A \;\big\lrcorner\; B^{-1}) \;\big\lrcorner\; B$ for any blades A and B (with a minor modification to accommodate null B, given below).

### Terminology specific to geometric algebra

Some terms are used in geometric algebra with a meaning that differs from the use of those terms in other fields of mathematics. Some of these are listed here:

Outer product
In GA this refers to what in other contexts is usually called the exterior product. It is not the outer product of linear algebra.
Inner product
In GA this generally refers to a scalar product on the vector subspace (which is not required to be positive definite) and any chosen generalization of this product to the entire algebra. It is not specifically the inner product on a normed vector space.
Versor
In GA this refers to an object that can be constructed as the geometric product of any number of non-null vectors. The term otherwise typically refers to a unit quaternion.

## Geometric interpretation

### Projection and rejection

In 3d space, a bivector ab defines a 2d plane subspace (light blue, extends infinitely in indicated directions). Any vector c in the 3-space can be projected onto and rejected normal to the plane, shown respectively by c and c.

For any vector a and any invertible vector m,

$\, a = amm^{-1} = (a\cdot m + a \wedge m)m^{-1} = a_{\| m} + a_{\perp m}$

where the projection of a onto m (or the parallel part) is

$\, a_{\| m} = (a\cdot m)m^{-1}$

and the rejection of a onto m (or the perpendicular part) is

$\, a_{\perp m} = a - a_{\| m} = (a\wedge m)m^{-1} .$

Using the concept of a k-blade B as representing a subspace of V and every multivector ultimately being expressed in terms of vectors, this generalizes to projection of a general multivector onto any invertible k-blade B as[9]

$\, \mathcal{P}_B (A) = (A \;\big\lrcorner\; B^{-1}) \;\big\lrcorner\; B$

with the rejection being defined as

$\, \mathcal{P}_B^\perp (A) = A - \mathcal{P}_B (A) .$

The projection and rejection generalize to null blades B by replacing the inverse B−1 with the pseudoinverse B+ with respect to the contractive product.[10] The outcome of the projection coincides in both cases for non-null blades.[11].[12] For null blades B, the definition of the projection given here with the first contraction rather than the second being onto the pseudoinverse should be used,[13] as only then is the result necessarily in the subspace represented by B.[11] The projection generalizes through linearity to general multivectors A.[14] The projection is not linear in B and does not generalize to objects B that are not blades.

### Reflections

The definition of a reflection occurs in two forms in the literature. Several authors work with reflection along a vector (negating only the component parallel to the specifying vector, or reflection in the hypersurface orthogonal to that vector), while others work with reflection on a vector (negating all vector components except that parallel to the specifying vector). Either may be used to build general versor operations, but the latter has the advantage that it extends to the algebra in a simpler and algebraically more regular fashion.

#### Reflection along a vector

Reflection of vector c along a vector m. Only the component of c parallel to m is negated.

The reflection of a vector a along a vector m, or equivalently in the hyperplane orthogonal to m, is the same as negating the component of a vector parallel to m. The result of the reflection will be

$\! a' = {-a_{\| m} + a_{\perp m}} = {-(a \cdot m)m^{-1} + (a \wedge m)m^{-1}} = {(-m \cdot a - m \wedge a)m^{-1}} = -mam^{-1}$

This is not the most general operation that may be regarded as a reflection when the dimension n ≥ 4. A general reflection may be expressed as the composite of any odd number of single-axis reflections. Thus, a general reflection of a vector may be written

$\! a \mapsto -MaM^{-1}$

where

$\! M = pq \ldots r$ and $\! M^{-1} = (pq \ldots r)^{-1} = r^{-1} \ldots q^{-1}p^{-1} .$

If we define the reflection along a non-null vector m of the product of vectors as the reflection of every vector in the product along the same vector, we get for any product of an odd number of vectors that, by way of example,

$(abc)' = a'b'c' = (-mam^{-1})(-mbm^{-1})(-mcm^{-1}) = -ma(m^{-1}m)b(m^{-1}m)cm^{-1} = -mabcm^{-1} \,$

and for the product of an even number of vectors that

$(abcd)' = a'b'c'd' = (-mam^{-1})(-mbm^{-1})(-mcm^{-1})(-mdm^{-1}) = mabcdm^{-1} .\,$

Using the concept of every multivector ultimately being expressed in terms of vectors, the reflection of a general multivector A using any reflection versor M may be written

$\, A \mapsto M\alpha(A)M^{-1} ,$

where α is the automorphism of reflection through the origin of the vector space (v ↦ −v) extended through multilinearity to the whole algebra.

#### Reflection on a vector

Reflection of vector c on a vector n. The rejection of c on n is negated.

The result of reflecting a vector a on another vector n is to negate the rejection of a. It is akin to reflecting the vector a through the origin, except that the projection of a onto n is not reflected. Such an operation is described by

$\, a \mapsto nan^{-1} .$

Repeating this operation results in a general versor operation (including both rotations and reflections) of an general multivector A being expressed as

$\, A \mapsto NAN^{-1} .$

This allows a general definition of any versor N (including both reflections and rotors) as an object that can be expressed as geometric product of any number of non-null 1-vectors. Such a versor can be applied in a uniform sandwich product as above irrespective of whether it is of even (a proper rotation) or odd grade (an improper rotation i.e. general reflection). The set of all versors with the geometric product as the group operation constitutes the Clifford group of the Clifford algebra Cp,q(R).[15]

### Hypervolume of an n-parallelotope spanned by n vectors

For vectors $a$ and $b$ spanning a parallelogram we have

$a \wedge b = ((a \wedge b) b^{-1}) b = a_{\perp b} b$

with the result that $a \wedge b$ is linear in the product of the "altitude" and the "base" of the parallelogram, that is, its area.

Similar interpretations are true for any number of vectors spanning an n-dimensional parallelotope; the outer product of vectors a1, a2, ... an, that is $\bigwedge_{i=1}^n a_i$, has a magnitude equal to the volume of the n-parallelotope. An n-vector doesn't necessarily have a shape of a parallelotope - this is a convenient visualization. It could be any shape, although the volume equals that of the parallelotope.

### Rotations

A rotor that rotates vectors in a plane rotates vectors through angle θ, that is xRθxRθ is a rotation of x through angle θ. The angle between u and v is θ/2. Similar interpretations are valid for a general multivector X instead of the vector x.[16]

If we have a product of vectors $R = a_1a_2....a_r$ then we denote the reverse as

$R^{\dagger}= (a_1a_2....a_r)^{\dagger} = a_r....a_2a_1$.

As an example, assume that $R = ab$ we get

$RR^{\dagger} = abba = ab^2a =a^2b^2 = R^{\dagger}R$.

Scaling R so that RR = 1 then

$(RvR^{\dagger})^2 = Rv^{2}R^{\dagger}= v^2RR^{\dagger} = v^2$

so $RvR$ leaves the length of $v$ unchanged. We can also show that

$(Rv_1R^{\dagger}) \cdot (Rv_2R^{\dagger}) = v_1 \cdot v_2$

so the transformation RvR preserves both length and angle. It therefore can be identified as a rotation or rotoreflection; R is called a rotor if it is a proper rotation (as it is if it can be expressed as a product of an even number of vectors) and is an instance of what is known in GA as a versor (presumably for historical reasons).

There is a general method for rotating a vector involving the formation of a multivector of the form $R = e^{-\frac{B \theta}{2}}$ that produces a rotation $\theta$ in the plane and with the orientation defined by a bivector $B$.

Rotors are a generalization of quaternions to n-D spaces.

For more about reflections, rotations and "sandwiching" products like RvR see Plane of rotation.

## Examples and applications

### Intersection of a line and a plane

A line L defined by points T and P (which we seek) and a plane defined by a bivector B containing points P and Q.

We may define the line parametrically by $p = t + \alpha \ v$ where p and t are position vectors for points T and P and v is the direction vector for the line.

Then

$B \wedge (p-q) = 0$ and $B \wedge (t + \alpha v - q) = 0$

so

$\alpha = \frac{B \wedge(q-t)}{B \wedge v}$

and

$p = t + \left(\frac{B \wedge (q-t)}{B \wedge v}\right) v$.

### Rotating systems

The mathematical description of rotational forces such as torque and angular momentum make use of the cross product.

The cross product in relation to the outer product. In red are the unit normal vector, and the "parallel" unit bivector.

The cross product can be viewed in terms of the outer product allowing a more natural geometric interpretation of the cross product as a bivector using the dual relationship

$a \times b = -I (a \wedge b) \,.$

For example,torque is generally defined as the magnitude of the perpendicular force component times distance, or work per unit angle.

Suppose a circular path in an arbitrary plane containing orthonormal vectors $\hat{ u}$ and$\hat{ v}$ is parameterized by angle.

$\mathbf{r} = r(\hat{ u} \cos \theta + \hat{ v} \sin \theta) = r \hat{ u}(\cos \theta + \hat{ u} \hat{ v} \sin \theta)$

By designating the unit bivector of this plane as the imaginary number

${i} = \hat{ u} \hat{ v} = \hat{ u} \wedge \hat{ v}$
${i}^2 = -1$

this path vector can be conveniently written in complex exponential form

$\mathbf{r} = r \hat{ u} e^{{i} \theta}$

and the derivative with respect to angle is

$\frac{d \mathbf{r}}{d\theta} = r \hat{ u} {i} e^{{i} \theta} = \mathbf{r} {i}$

So the torque, the rate of change of work W, due to a forceF, is

$\tau = \frac{dW}{d\theta} = F \cdot \frac{d r}{d\theta} = F \cdot (\mathbf{r} {i})$

Unlike the cross product description of torque, $\tau = \mathbf{r} \times F$, the geometric-algebra description does not introduce a vector in the normal direction; a vector that does not exist in two and that is not unique in greater than three dimensions. The unit bivector describes the plane and the orientation of the rotation, and the sense of the rotation is relative to the angle between the vectors ${\hat{u}}$ and ${\hat{v}}$.

### Electrodynamics and special relativity

In physics, the main applications are the geometric algebra of Minkowski 3+1 spacetime, C1,3, called spacetime algebra (STA).[3] or less commonly, C3, called the algebra of physical space (APS) where C3 is isomorphic to the even subalgebra of the 3+1 Clifford algebra, C0
3,1
.

While in STA points of spacetime are represented simply by vectors, in APS, points of (3+1)-dimensional spacetime are instead represented by paravectors: a 3-dimensional vector (space) plus a 1-dimensional scalar (time).

In spacetime algebra the electromagnetic field tensor has a bivector representation ${F} = ({E} + i c {B})e_0$.[17] Here, the imaginary unit is the (four-dimensional) volume element, and $e_0$ is the unit vector in time direction. Using the four-current ${J}$, Maxwell's equations then simplify to

$\nabla {F} = \mu_0 c {J}$.

Boosts in this Lorenzian metric space have the same expression $e^{{\beta}}$ as rotation in Euclidean space, where ${\beta}$ is the bivector generated by the time and the space directions involved, whereas in the Euclidean case it is the bivector generated by the two space directions, strengthening the "analogy" to almost identity.

## Relationship with other formalisms

$\mathcal G(3,0)$ may be directly compared to vector algebra.

The even subalgebra of $\mathcal G(2,0)$ is isomorphic to the complex numbers, as may be seen by writing a vector P in terms of its components in an orthonormal basis and left multiplying by the basis vector e1, yielding

$Z = {e_1} P = {e_1} ( x {e_1} + y {e_2}) = x (1) + y ( {e_1} {e_2})\,$

where we identify ie1e2 since

$({e_1}{e_2})^2 = {e_1}{e_2}{e_1}{e_2} = -{e_1}{e_1}{e_2}{e_2} = -1 \,$

Similarly, the even subalgebra of $\mathcal G(3,0)$ with basis {1, e2e3, e3e1, e1e2} is isomorphic to the quaternions as may be seen by identifying i ↦ −e2e3, j ↦ −e3e1 and k ↦ −e1e2.

Every associative algebra has a matrix representation; the Pauli matrices are a representation of $\mathcal G(3,0)$ and the Dirac matrices are a representation of $\mathcal G(1,3)$, showing the equivalence with matrix representations used by physicists.

## Geometric calculus

Geometric calculus extends the formalism to include differentiation and integration including differential geometry and differential forms.[18]

Essentially, the vector derivative is defined so that the GA version of Green's theorem is true,

$\oint_{A} dA \nabla f = \oint_{dA} dx f$

and then one can write

$\nabla f = \nabla \cdot f + \nabla \wedge f$

as a geometric product, effectively generalizing Stokes theorem (including the differential forms version of it).

In $1D$ when A is a curve with endpoints $a$ and $b$, then

$\oint_{A} dA \nabla f = \oint_{dA} dx f$

reduces to

$\int_{a}^{b} dx \nabla f = \int_{a}^{b} dx \cdot \nabla f = \int_{a}^{b} df = f(b) -f(a)$

or the fundamental theorem of integral calculus.

Also developed are the concept of vector manifold and geometric integration theory (which generalizes Cartan's differential forms).

## Conformal geometric algebra (CGA)

A compact description of the current state of the art is provided by Bayro-Corrochano and Scheuermann (2010),[19] which also includes further references, in particular to Dorst et al (2007).[20] Another useful reference is Li (2008).[21]

Working within GA, Euclidian space $\mathcal E^3$ is embedded projectively in the CGA $\mathcal G^{4,1}$ via the identification of Euclidean points with 1D subspaces in the 4D null cone of the 5D CGA vector subspace, and adding a point at infinity. This allows all conformal transformations to be done as rotations and reflections and is covariant, extending incidence relations of projective geometry to circles and spheres.

Specifically, we add orthogonal basis vectors $\, e_+$ and $\, e_-$ such that $\, {e_+}^2 = +1$ and $\, {e_-}^2 = -1$ to the basis of $\mathcal{G}(3,0)$ and identify null vectors

$n_{\infty} = e_- + e_+$ as an ideal point (point at infinity) (see Compactification) and
$n_{o} = \tfrac{1}{2}(e_- - e_+)$ as the point at the origin, giving
$n_{\infty} \cdot n_{o} = -1$.

This procedure has some similarities to the procedure for working with homogeneous coordinates in projective geometry and in this case allows the modeling of Euclidean transformations as orthogonal transformations.

A fast changing and fluid area of GA, CGA is also being investigated for applications to relativistic physics.

## History

Before the 20th century

Although the connection of geometry with algebra dates as far back at least to Euclid's Elements in the 3rd century B.C. (see Greek geometric algebra), GA in the sense used in this article was not developed until 1844, when it was used in a systematic way to describe the geometrical properties and transformations of a space. In that year, Hermann Grassmann introduced the idea of a geometrical algebra in full generality as a certain calculus (analogous to the propositional calculus) that encoded all of the geometrical information of a space.[22] Grassmann's algebraic system could be applied to a number of different kinds of spaces, the chief among them being Euclidean space, affine space, and projective space. Following Grassmann, in 1878 William Kingdon Clifford examined Grassmann's algebraic system alongside the quaternions of William Rowan Hamilton in (Clifford 1878). From his point of view, the quaternions described certain transformations (which he called rotors), whereas Grassmann's algebra described certain properties (or Strecken such as length, area, and volume). His contribution was to define a new product — the geometric product — on an existing Grassmann algebra, which realized the quaternions as living within that algebra. Subsequently Rudolf Lipschitz in 1886 generalized Clifford's interpretation of the quaternions and applied them to the geometry of rotations in n dimensions. Later these developments would lead other 20th-century mathematicians to formalize and explore the properties of the Clifford algebra.

Nevertheless, another revolutionary development of the 19th-century would completely overshadow the geometric algebras: that of vector analysis, developed independently by Josiah Willard Gibbs and Oliver Heaviside. Vector analysis was motivated by James Clerk Maxwell's studies of electromagnetism, and specifically the need to express and manipulate conveniently certain differential equations. Vector analysis had a certain intuitive appeal compared to the rigors of the new algebras. Physicists and mathematicians alike readily adopted it as their geometrical toolkit of choice, particularly following the influential 1901 textbook Vector Analysis by Edwin Bidwell Wilson, following lectures of Gibbs.

In more detail, there have been three approaches to geometric algebra: quaternionic analysis, initiated by Hamilton in 1843 and geometrized as rotors by Clifford in 1878; geometric algebra, initiated by Grassmann in 1844; and vector analysis, developed out of quaternionic analysis in the late 19th century by Gibbs and Heaviside. The legacy of quaternionic analysis in vector analysis can be seen in the use of i, j, k to indicate the basis vectors of R3: it is being thought of as the purely imaginary quaternions. From the perspective of geometric algebra, quaternions can be identified as C03,0(R), the even part of the Clifford algebra on Euclidean 3-space, which unifies the three approaches.

20th century and present

Progress on the study of Clifford algebras quietly advanced through the twentieth century, although largely due to the work of abstract algebraists such as Hermann Weyl and Claude Chevalley. The geometrical approach to geometric algebras has seen a number of 20th-century revivals. In mathematics, Emil Artin's Geometric Algebra[23] discusses the algebra associated with each of a number of geometries, including affine geometry, projective geometry, symplectic geometry, and orthogonal geometry. In physics, geometric algebras have been revived as a "new" way to do classical mechanics and electromagnetism, together with more advanced topics such as quantum mechanics and gauge theory.[24] David Hestenes reinterpreted the Pauli and Dirac matrices as vectors in ordinary space and spacetime, respectively, and has been a primary contemporary advocate for the use of geometric algebra.

In computer graphics, geometric algebras have been revived in order to efficiently represent rotations and other transformations.

## Software

GA is a very application oriented subject. There is a reasonably steep initial learning curve associated with it, but this can be eased somewhat by the use of applicable software.

The following is a list of freely available software that does not require ownership of commercial software or purchase of any commercial products for this purpose:

The link provides a manual, introduction to GA and sample material as well as the software.

Software allowing script creation and including sample visualizations, manual and GA introduction.

For programmers,this is a code generator with support for C,C++,C# and Java.

• Cinderella Visualizations Hitzer and Dorst.
• Gaalop [3] Standalone GUI-Application that uses the Open-Source Computer Algebra Software Maxima to break down CLUViz code into C/C++ or Java code.
• Gaalop Precompiler [4] Precompiler based on Gaalop integrated with CMake.
• Gaalet, C++ Expression Template Library Seybold.
• GALua, A Lua module adding GA data-types to the Lua programming language Parkin.

## References

1. ^
2. ^ McRobie, F. A.; Lasenby, J. (1999) Simo-Vu Quoc rods using Clifford algebra. Internat. J. Numer. Methods Engrg. Vol 45, #4, p. 377−398
3. ^ a b
4. ^ R. Penrose (2007). The Road to Reality. Vintage books. ISBN 0-679-77631-1.
5. ^ J.A. Wheeler, C. Misner, K.S. Thorne (1973). Gravitation. W.H. Freeman & Co. p. 83. ISBN 0-7167-0344-0.
6. ^ For example, when vv=vv≠0, the product is grade-0 and not grade-2, as a graded algebra would require.
7. ^ [1]
8. ^ Distinguishing notation here is from Dorst (2007) Geometric Algebra for computer Science §B.1 p.590.; the point is also made that scalars must be handled as a special case with this product.
9. ^ This definition follows Dorst (2007) and Perwass (2009) – the left contraction used by Dorst replaces the ("fat dot") inner product that Perwass uses, consistent with Perwass's constraint that grade of A may not exceed that of B.
10. ^ Dorst appears to merely assume B+ such that BB+ = 1, whereas Perwass (2009) defines B+ = B/(BB), where B is the conjugate of B, equivalent to the reverse of B up to a sign.
11. ^ a b Dorst, §3.6 p. 85.
12. ^ Perwass (2009) §3.2.10.2 p83
13. ^ That is to say, the projection must be defined as PB(A) = (AB+) ⨼ B and not as (AB) ⨼ B+, though the two are equivalent for non-null blades B
14. ^ This generalization to all A is apparently not considered by Perwass or Dorst.
15. ^ Perwass (2009) §3.3.1. Perwass also claims here that David Hestenes coined the term "versor", where he is presumably is referring to the GA context (the term versor appears to have been used by Hamilton to refer to an equivalent object of the quaternion algebra).
16. ^ [2]
17. ^ "Electromagnetism using Geometric Algebra versus Components". Retrieved 19 March 2013.
18. ^ Clifford Algebra to Geometric Calculus, a Unified Language for mathematics and Physics (Dordrecht/Boston:G.Reidel Publ.Co.,1984
19. ^ Geometric Algebra Computing in Engineering and Computer Science, E.Bayro-Corrochano & Gerik Scheuermann (Eds),Springer 2010. Extract online at http://geocalc.clas.asu.edu/html/UAFCG.html #5 New Tools for Computational Geometry and rejuvenation of Screw Theory
20. ^ Dorst, Leo; Fontijne, Daniel; Mann, Stephen (2007). Geometric algebra for computer science: an object-oriented approach to geometry. Amsterdam: Elsevier/Morgan Kaufmann. ISBN 978-0-12-369465-2. OCLC 132691969.
21. ^ Hongbo Li (2008) Invariant Algebras and Geometric Reasoning, Singapore: World Scientific. Extract online at http://www.worldscibooks.com/etextbook/6514/6514_chap01.pdf
22. ^
23. ^ Artin, Emil (1988), Geometric algebra, Wiley Classics Library, New York: John Wiley & Sons Inc., pp. x+214, ISBN 0-471-60839-4, MR 1009557 (Reprint of the 1957 original; A Wiley-Interscience Publication)
24. ^ Doran, Chris J. L. (February 1994). Geometric Algebra and its Application to Mathematical Physics (Ph.D. thesis). University of Cambridge. OCLC 53604228.