# Geometric algebra

(Redirected from Geometric product)
Not to be confused with Algebraic geometry.

The geometric algebra (GA) of a vector space is an algebraic structure, noted for its multiplication operation called the geometric product on a space of elements called multivectors, which is a superset of both the scalars ${\displaystyle \mathbf {R} }$ and the vector space ${\displaystyle V}$. Mathematically, a geometric algebra is defined as the Clifford algebra of a real vector space with a quadratic form. In practice, several derived operations are generally defined, and together these allow a correspondence of elements, subspaces and operations of the algebra with physical interpretations. A derived operation, the exterior product, defines an exterior algebra on the same space and provides many of the interpretations of its elements, as well as demonstrating that a GA is basis-independent.

The scalars and vectors have their usual interpretation, and make up distinct subspaces of a GA. Bivectors provide a more natural representation of pseudovector quantities in vector algebra such as oriented area, oriented angle of rotation, torque, angular momentum, electromagnetic field and the Poynting vector. A trivector can represent an oriented volume, and so on. An element called a blade may be used to represent a subspace of ${\displaystyle V}$ and orthogonal projections onto that subspace. Rotations and reflections are represented as elements. Unlike vector algebra, a GA naturally accommodates any number of dimensions and any quadratic form such as in relativity. However, a direct representation within the algebra has not been found for all physical and geometric operations, including general linear transforms of ${\displaystyle V}$, which are represented as a class of linear function named outermorphisms, as well as other quantities such as the stress–energy tensor or Ricci curvature, in contrast with the more universal tensor algebra.

Specific examples of geometric algebras applied in physics include the algebra of physical space, the spacetime algebra, and the conformal geometric algebra. Geometric calculus, an extension of GA that incorporates differentiation and integration, can be used to formulate other theories such as complex analysis, differential geometry, e.g. by using the Clifford algebra instead of differential forms. Geometric algebra has been advocated, most notably by David Hestenes[1] and Chris Doran,[2] as the preferred mathematical framework for physics. Proponents claim that it provides compact and intuitive descriptions in many areas including classical and quantum mechanics, electromagnetic theory and relativity.[3] GA has also found use as a computational tool in computer graphics[4] and robotics.

The geometric product was first briefly mentioned by Hermann Grassmann, who was chiefly interested in developing the closely related exterior algebra, which is the geometric algebra of the trivial quadratic form. In 1878, William Kingdon Clifford greatly expanded on Grassmann's work to form what are now usually called Clifford algebras in his honor (although Clifford himself chose to call them "geometric algebras"). For several decades, geometric algebras went somewhat ignored, greatly eclipsed by the vector calculus then newly developed to describe electromagnetism. The term "geometric algebra" was repopularized by Hestenes in the 1960s, who advocated its importance to relativistic physics.[5]

## Definition and notation

Given a finite-dimensional real quadratic space ${\displaystyle V}$ with a symmetric bilinear form (e.g. the Euclidean or Lorentzian metric) ${\displaystyle g:V\times V\rightarrow \mathbf {R} }$, the geometric algebra for this quadratic space is the Clifford algebra ${\displaystyle \operatorname {Cl} (V,g)}$.

The algebra product is called the geometric product. It is standard to denote the geometric product by juxtaposition (i.e., suppressing any explicit multiplication symbol). The above definition of the geometric algebra is abstract, so we summarize the properties of the geometric product by the following set of axioms. The geometric product has the following properties:

${\displaystyle 1A=A1=A}$, where ${\displaystyle 1}$ is the unit and ${\displaystyle A}$ any element of the algebra (existence of an identity element)
${\displaystyle A(BC)=(AB)C}$, where ${\displaystyle A}$, ${\displaystyle B}$ and ${\displaystyle C}$ are any elements of the algebra (associativity)
${\displaystyle A(B+C)=AB+AC}$ and ${\displaystyle (B+C)A=BA+CA}$, where ${\displaystyle A}$, ${\displaystyle B}$ and ${\displaystyle C}$ are any elements of the algebra (distributivity)
${\displaystyle a^{2}=g(a,a)1}$, where ${\displaystyle a}$ is any element of the subspace ${\displaystyle V}$ of the algebra.

Note that in the final property above, the real number ${\displaystyle g(a,a)}$ need not be nonnegative if ${\displaystyle g}$ is not positive-definite. An important property of the geometric product is the existence of elements having a multiplicative inverse. If ${\displaystyle a^{2}\neq 0}$ for some vector ${\displaystyle a}$, then ${\displaystyle a^{-1}}$ exists and is equal to ${\displaystyle g(a,a)^{-1}a}$. Not every nonzero element of the algebra necessarily has a multiplicative inverse. For example, if ${\displaystyle u}$ is a vector in ${\displaystyle V}$ such that ${\displaystyle u^{2}=1}$, the elements ${\displaystyle 1\pm u}$ are zero divisors and thus have no inverse: ${\displaystyle (1-u)(1+u)=1-uu=1-1=0}$. Then there also exist nontrivial idempotent elements such as ${\displaystyle \textstyle {\frac {1}{2}}(1+u)}$.

It is usual to identify ${\displaystyle 1\in \mathbf {R} }$ with ${\displaystyle 1\in \operatorname {Cl} (V,g)}$, with associated natural embeddings ${\displaystyle \mathbf {R} \to \operatorname {Cl} (V,g)}$ and ${\displaystyle V\to \operatorname {Cl} (V,g)}$. For the remainder of this article, this identification is assumed. Throughout, the term vector refers to an element of ${\displaystyle V}$ (and its image under this embedding), and is synonymous with ${\displaystyle 1}$-vector.

### Inner and exterior product of vectors

Given two vectors ${\displaystyle a}$ and ${\displaystyle b}$, if the geometric product ${\displaystyle ab}$ is[6] anticommutative; they are perpendicular (top) because ${\displaystyle a\cdot b=0}$, if it is commutative; they are parallel (bottom) because ${\displaystyle a\wedge b=0}$.
Orientation defined by an ordered set of vectors.
Reversed orientation corresponds to negating the exterior product.
Geometric interpretation of grade-${\displaystyle n}$ elements in a real exterior algebra for ${\displaystyle n=0}$ (signed point), ${\displaystyle 1}$ (directed line segment, or vector), ${\displaystyle 2}$ (oriented plane element), ${\displaystyle 3}$ (oriented volume). The exterior product of ${\displaystyle n}$ vectors can be visualized as any ${\displaystyle n}$-dimensional shape (e.g. ${\displaystyle n}$-parallelotope, ${\displaystyle n}$-ellipsoid); with magnitude (hypervolume), and orientation defined by that on its ${\displaystyle (n-1)}$-dimensional boundary and on which side the interior is.[7][8]

For vectors ${\displaystyle a}$ and ${\displaystyle b}$, we may write the geometric product of any two vectors ${\displaystyle a}$ and ${\displaystyle b}$ as the sum of a symmetric product and an antisymmetric product:

${\displaystyle ab={\frac {1}{2}}(ab+ba)+{\frac {1}{2}}(ab-ba)}$

Thus we can define the inner product of vectors as

${\displaystyle a\cdot b:=g(a,b),}$

so that the symmetric product can be written as

${\displaystyle {\frac {1}{2}}(ab+ba)={\frac {1}{2}}((a+b)^{2}-a^{2}-b^{2})=a\cdot b,}$

Conversely, ${\displaystyle g}$ is completely determined by the algebra. The antisymmetric part is the exterior product (also called the outer product) of the two vectors, the product of the contained exterior algebra:

${\displaystyle a\wedge b:={\frac {1}{2}}(ab-ba)=-(b\wedge a)}$

The inner and exterior products are associated with familiar concepts from standard vector algebra. Pictorially, ${\displaystyle a}$ and ${\displaystyle b}$ are parallel if their geometric product is equal to their inner product, whereas ${\displaystyle a}$ and ${\displaystyle b}$ are perpendicular if their geometric product is equal to their exterior product. In a geometric algebra for which the square of any nonzero vector is positive, the inner product of two vectors can be identified with the dot product of standard vector algebra. The exterior product of two vectors can be identified with the signed area enclosed by a parallelogram the sides of which are the vectors. The cross product of two vectors in ${\displaystyle 3}$ dimensions with positive-definite quadratic form is closely related to their exterior product.

Most instances of geometric algebras of interest have a nondegenerate quadratic form. If the quadratic form is fully degenerate, the inner product of any two vectors is always zero, and the geometric algebra is then simply an exterior algebra. Unless otherwise stated, this article will treat only nondegenerate geometric algebras.

The exterior product is naturally extended as a completely antisymmetric, multilinear operator between any number of vectors:

${\displaystyle a_{1}\wedge a_{2}\wedge \cdots \wedge a_{r}={\frac {1}{r!}}\sum _{\sigma \in {\mathfrak {S}}_{r}}\operatorname {sgn} (\sigma )a_{\sigma (1)}a_{\sigma (2)}\cdots a_{\sigma (r)},}$

where the sum is over all permutations of the indices, with ${\displaystyle \operatorname {sgn} (\sigma )}$ the sign of the permutation.

A multivector that is the exterior product of ${\displaystyle r}$ independent vectors (${\displaystyle r\leq n}$) is called a blade, and the blade is said to be a multivector of grade ${\displaystyle r}$. From the axioms, with closure, every multivector of the geometric algebra is a sum of blades.

Consider a set of ${\displaystyle r}$ independent vectors ${\displaystyle \{a_{1},\ldots ,a_{r}\}}$ spanning an ${\displaystyle r}$-dimensional subspace of the vector space. With these, we can define a real symmetric matrix

${\displaystyle [\mathbf {A} ]_{ij}=a_{i}\cdot a_{j}}$

By the spectral theorem, ${\displaystyle \mathbf {A} }$ can be diagonalized to diagonal matrix ${\displaystyle \mathbf {D} }$ by an orthogonal matrix ${\displaystyle \mathbf {O} }$ via

${\displaystyle \sum _{k,l}[\mathbf {O} ]_{ik}[\mathbf {A} ]_{kl}[\mathbf {O} ^{\mathrm {T} }]_{lj}=\sum _{k,l}[\mathbf {O} ]_{ik}[\mathbf {O} ]_{jl}[\mathbf {A} ]_{kl}=[\mathbf {D} ]_{ij}}$

Define a new set of vectors ${\displaystyle \{e_{1},\ldots ,e_{r}\}}$, known as orthogonal basis vectors, to be those transformed by the orthogonal matrix:

${\displaystyle e_{i}=\sum _{j}[\mathbf {O} ]_{ij}a_{j}}$

Since orthogonal transformations preserve inner products, it follows that ${\displaystyle e_{i}\cdot e_{j}=[\mathbf {D} ]_{ij}}$ and thus the ${\displaystyle \{e_{1},\ldots ,e_{r}\}}$ are perpendicular. In other words, the geometric product of two distinct vectors ${\displaystyle e_{i}\neq e_{j}}$ is completely specified by their exterior product, or more generally

${\displaystyle {\begin{array}{rl}e_{1}e_{2}\cdots e_{r}&=e_{1}\wedge e_{2}\wedge \cdots \wedge e_{r}\\&=\left(\sum _{j}[\mathbf {O} ]_{1j}a_{j}\right)\wedge \left(\sum _{j}[\mathbf {O} ]_{2j}a_{j}\right)\wedge \cdots \wedge \left(\sum _{j}[\mathbf {O} ]_{rj}a_{j}\right)\\&=\det[\mathbf {O} ]a_{1}\wedge a_{2}\wedge \cdots \wedge a_{r}\end{array}}}$

Therefore, every blade of grade ${\displaystyle r}$ can be written as a geometric product of ${\displaystyle r}$ vectors. More generally, if a degenerate geometric algebra is allowed, then the orthogonal matrix is replaced by a block matrix that is orthogonal in the nondegenerate block, and the diagonal matrix has zero-valued entries along the degenerate dimensions. If the new vectors of the nondegenerate subspace are normalized according to

${\displaystyle {\hat {e}}_{i}={\frac {1}{\sqrt {|e_{i}\cdot e_{i}|}}}e_{i},}$

then these normalized vectors must square to ${\displaystyle +1}$ or ${\displaystyle -1}$. By Sylvester's law of inertia, the total number of ${\displaystyle +1}$s and the total number of ${\displaystyle -1}$s along the diagonal matrix is invariant. By extension, the total number ${\displaystyle p}$ of these vectors that square to ${\displaystyle +1}$ and the total number ${\displaystyle q}$ that square to ${\displaystyle -1}$ is invariant. (If the degenerate case is allowed, then the total number of basis vectors that square to zero is also invariant.) We denote this algebra ${\displaystyle {\mathcal {G}}(p,q)}$. For example, ${\displaystyle {\mathcal {G}}(3,0)}$ models ${\displaystyle 3}$-dimensional Euclidean space, ${\displaystyle {\mathcal {G}}(1,3)}$ relativistic spacetime and ${\displaystyle {\mathcal {G}}(4,1)}$ a conformal geometric algebra of a ${\displaystyle 3}$-dimensional space.

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

${\displaystyle \{1,e_{1},e_{2},e_{3},e_{1}e_{2},e_{1}e_{3},e_{2}e_{3},e_{1}e_{2}e_{3}\}}$

A basis formed this way is called a canonical basis for the geometric algebra, and any other orthogonal basis for ${\displaystyle V}$ will produce another canonical basis. Each canonical basis consists of ${\displaystyle 2^{n}}$ elements. Every multivector of the geometric algebra can be expressed as a linear combination of the canonical basis elements. If the canonical basis elements are ${\displaystyle \{B_{i}|i\in S\}}$ with ${\displaystyle S}$ being an index set, then the geometric product of any two multivectors is

${\displaystyle \left(\sum _{i}\alpha _{i}B_{i}\right)\left(\sum _{j}\beta _{j}B_{j}\right)=\sum _{i,j}\alpha _{i}\beta _{j}B_{i}B_{j}.}$

Using an orthogonal basis, a graded vector space structure can be established. Elements of the geometric algebra that are scalar multiples of ${\displaystyle 1}$ are grade-${\displaystyle 0}$ blades and are called scalars. Multivectors that are in the span of ${\displaystyle \{e_{1},\ldots ,e_{n}\}}$ are grade-${\displaystyle 1}$ blades and are the ordinary vectors. Multivectors in the span of ${\displaystyle \{e_{i}e_{j}\mid 1\leq i are grade-${\displaystyle 2}$ blades and are the bivectors. This terminology continues through to the last grade of ${\displaystyle n}$-vectors. Alternatively, grade-${\displaystyle n}$ blades are called pseudoscalars, grade-${\displaystyle (n-1)}$ blades pseudovectors, etc. 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. The grading of multivectors is independent of the basis chosen originally.

A multivector ${\displaystyle A}$ may be decomposed with the grade-projection operator ${\displaystyle \langle A\rangle _{r}}$, which outputs the grade-${\displaystyle r}$ portion of ${\displaystyle A}$. As a result:

${\displaystyle A=\sum _{r=0}^{n}\langle A\rangle _{r}}$

As an example, the geometric product of two vectors ${\displaystyle ab=a\cdot b+a\wedge b=\langle ab\rangle _{0}+\langle ab\rangle _{2}}$ since ${\displaystyle \langle ab\rangle _{0}=a\cdot b}$ and ${\displaystyle \langle ab\rangle _{2}=a\wedge b}$ and ${\displaystyle \langle ab\rangle _{i}=0}$, for ${\displaystyle i}$ other than ${\displaystyle 0}$ and ${\displaystyle 2}$.

The decomposition of a multivector ${\displaystyle A}$ may also be split into those components that are even and those that are odd:

${\displaystyle A^{+}=\langle A\rangle _{0}+\langle A\rangle _{2}+\langle A\rangle _{4}+\cdots }$
${\displaystyle A^{-}=\langle A\rangle _{1}+\langle A\rangle _{3}+\langle A\rangle _{5}+\cdots }$

This makes the algebra a ${\displaystyle \mathrm {Z} _{2}}$-graded algebra or superalgebra with the geometric product. Since the geometric product of two even multivectors is an even multivector, they define an even subalgebra. The even subalgebra of an ${\displaystyle n}$-dimensional geometric algebra is isomorphic to a full geometric algebra of ${\displaystyle (n-1)}$ dimensions. Examples include ${\displaystyle {\mathcal {G}}^{+}(2,0)\cong {\mathcal {G}}(0,1)}$ and ${\displaystyle {\mathcal {G}}^{+}(1,3)\cong {\mathcal {G}}(3,0)}$.

### Representation of subspaces

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

Blades are important since geometric operations such as projections, rotations and reflections depend on the factorability via the exterior product that (the restricted class of) ${\displaystyle n}$-blades provide but that (the generalized class of) grade-${\displaystyle n}$ multivectors do not when ${\displaystyle n\geq 4}$.

### Unit pseudoscalars

Unit pseudoscalars are blades that play important roles in GA. A unit pseudoscalar for a non-degenerate subspace ${\displaystyle W}$ of ${\displaystyle V}$ is a blade that is the product of the members of an orthonormal basis for ${\displaystyle W}$. It can be shown that if ${\displaystyle I}$ and ${\displaystyle I'}$ are both unit pseudoscalars for ${\displaystyle W}$, then ${\displaystyle I=\pm I'}$ and ${\displaystyle I^{2}=\pm 1}$.

Suppose the geometric algebra ${\displaystyle {\mathcal {G}}(n,0)}$ with the familiar positive definite inner product on ${\displaystyle \mathbf {R} ^{n}}$ is formed. Given a plane (${\displaystyle 2}$-dimensional subspace) of ${\displaystyle \mathbf {R} ^{n}}$, one can find an orthonormal basis ${\displaystyle \{b_{1},b_{2}\}}$ spanning the plane, and thus find a unit pseudoscalar ${\displaystyle I=b_{1}b_{2}}$ representing this plane. The geometric product of any two vectors in the span of ${\displaystyle b_{1}}$ and ${\displaystyle b_{2}}$ lies in ${\displaystyle \{\alpha _{0}+\alpha _{1}I\mid \alpha _{i}\in \mathbf {R} \}}$, that is, it is the sum of a ${\displaystyle 0}$-vector and a ${\displaystyle 2}$-vector.

By the properties of the geometric product, ${\displaystyle I^{2}=b_{1}b_{2}b_{1}b_{2}=-b_{1}b_{2}b_{2}b_{1}=-1}$. The resemblance to the imaginary unit is not incidental: the subspace ${\displaystyle \{\alpha _{0}+\alpha _{1}I\mid \alpha _{i}\in \mathbf {R} \}}$ is ${\displaystyle \mathbf {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 ${\displaystyle 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 ${\displaystyle -1}$, and these have geometric significance because of the properties of the algebra and the interaction of its various subspaces.

In ${\displaystyle {\mathcal {G}}(3,0)}$, a further familiar case occurs. Given a canonical basis consisting of orthonormal vectors ${\displaystyle e_{i}}$ of ${\displaystyle V}$, the set of all ${\displaystyle 2}$-vectors is generated by

${\displaystyle \{e_{3}e_{2},e_{1}e_{3},e_{2}e_{1}\}.}$

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

### Dual basis

Let ${\displaystyle \{e_{i}\}}$ be a basis of ${\displaystyle V}$, i.e. a set of ${\displaystyle n}$ linearly independent vectors that span the ${\displaystyle n}$-dimensional vector space ${\displaystyle V}$. The basis that is dual to ${\displaystyle \{e_{i}\}}$ is the set of elements of the dual vector space ${\displaystyle V^{*}}$ that forms a biorthogonal system with this basis, thus being the elements denoted ${\displaystyle \{e^{i}\}}$ satisfying

${\displaystyle e^{i}\cdot e_{j}=\delta ^{i}{}_{j},}$

where ${\displaystyle \delta }$ is the Kronecker delta.

Given a nondegenerate quadratic form on ${\displaystyle V}$, ${\displaystyle V^{*}}$ becomes naturally identified with ${\displaystyle V}$, and the dual basis may be regarded as elements of ${\displaystyle V}$, but are not in general the same set as the original basis.

Given further a GA of ${\displaystyle V}$, let

${\displaystyle \epsilon =e_{1}\wedge \cdots \wedge e_{n}}$

be the pseudoscalar (which does not necessarily square to ${\displaystyle \pm 1}$) formed from the basis ${\displaystyle \{e_{i}\}}$. The dual basis vectors may be constructed as

${\displaystyle e^{i}=(-1)^{i-1}(e_{1}\wedge \cdots \wedge {\check {e}}_{i}\wedge \cdots \wedge e_{n})\epsilon ^{-1},}$

where the ${\displaystyle {\check {e}}_{i}}$ denotes that the ${\displaystyle i}$th basis vector is omitted from the product.

### Extensions of the inner and exterior products

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

${\displaystyle C\wedge D:=\sum _{r,s}\langle \langle C\rangle _{r}\langle D\rangle _{s}\rangle _{r+s}}$     (the exterior product)

This generalization is consistent with the above definition involving antisymmetrization. Another generalization related to the exterior product is the commutator product:

${\displaystyle C\times D:={\tfrac {1}{2}}(CD-DC)}$

The regressive product is the dual of the exterior product:

${\displaystyle C\vee D:=((CI^{-1})\wedge (DI^{-1}))I}$

with ${\displaystyle I}$ the unit pseudoscalar of the algebra. The regressive product, like the exterior product, is associative.[9]

The inner product on vectors can also be generalized, 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:

${\displaystyle C\;\rfloor \;D:=\sum _{r,s}\langle \langle C\rangle _{r}\langle D\rangle _{s}\rangle _{s-r}}$   (the left contraction)
${\displaystyle C\;\lfloor \;D:=\sum _{r,s}\langle \langle C\rangle _{r}\langle D\rangle _{s}\rangle _{r-s}}$   (the right contraction)
${\displaystyle C*D:=\sum _{r,s}\langle \langle C\rangle _{r}\langle D\rangle _{s}\rangle _{0}}$   (the scalar product)
${\displaystyle C\bullet D:=\sum _{r,s}\langle \langle C\rangle _{r}\langle D\rangle _{s}\rangle _{|s-r|}}$   (the "(fat) dot" product)[a]

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. For example,

${\displaystyle C\;\rfloor \;D=(C\wedge (DI^{-1}))I}$
${\displaystyle C\;\lfloor \;D=I((I^{-1}C)\wedge D)}$
${\displaystyle A\;\rfloor \;(B\;\rfloor \;C)=(A\wedge B)\;\rfloor \;C}$
${\displaystyle A\bullet B=A\;\rfloor \;B+A\;\lfloor \;B-A*B.}$

Benefits of using the left contraction as an extension of the inner product on vectors include that the identity ${\displaystyle ab=a\cdot b+a\wedge b}$ is extended to ${\displaystyle aB=a\;\rfloor \;B+a\wedge B}$ for any vector ${\displaystyle a}$ and multivector ${\displaystyle B}$, and that the projection operation ${\displaystyle {\mathcal {P}}_{b}(a)=(a\cdot b^{-1})b}$ is extended to ${\displaystyle {\mathcal {P}}_{B}(A)=(A\;\rfloor \;B^{-1})\;\rfloor \;B}$ for any blade ${\displaystyle B}$ and any multivector ${\displaystyle A}$ (with a minor modification to accommodate null ${\displaystyle 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:

Vector
In GA this refers to an element of the ${\displaystyle 1}$-vector subspace unless otherwise clear from the context, despite the entire algebra forming a vector space.
In GA this refers to a grading as an algebra under the exterior product (a ${\displaystyle \mathrm {Z} }$-grading), and not under the geometric product (which produces a ${\displaystyle \mathrm {Z} _{2}{}^{n}}$-grading).
Outer product
When used in GA, this is a synonym for exterior product, the term used by many authors. It is not the outer product of linear algebra.
Inner product
When used in GA, this generally refers to the symmetric bilinear form on the ${\displaystyle 1}$-vector subspace, not the inner product on a normed vector space. Some authors may extend its meaning to the entire algebra, but there is little consensus on this. Even in texts on geometric algebras, the term is not universally used.
Versor
In GA this refers to an element of the algebra that can be constructed as the geometric product of any number of non-null vectors; an element of the Clifford group. Elsewhere, the term versor may refer to a unit quaternion, which is analogous to a rotor in GA.
Outermorphism
In GA this refers to the extension of a linear map on the vector subspace that preserves the exterior product. It is unrelated to the contraction of outer automorphism sometimes used in group theory.

## Geometric interpretation

### Projection and rejection

In ${\displaystyle 3}$-d space, a bivector ${\displaystyle a\land b}$ defines a ${\displaystyle 2}$-d plane subspace (light blue, extends infinitely in indicated directions). Any vector ${\displaystyle c}$ in the ${\displaystyle 3}$-space can be projected onto and rejected normal to the plane, shown respectively by ${\displaystyle c_{\perp }}$ and ${\displaystyle c_{\|}}$.

For any vector ${\displaystyle a}$ and any invertible vector ${\displaystyle m}$,

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

where the projection of ${\displaystyle a}$ onto ${\displaystyle m}$ (or the parallel part) is

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

and the rejection of ${\displaystyle a}$ onto ${\displaystyle m}$ (or the perpendicular part) is

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

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

${\displaystyle {\mathcal {P}}_{B}(A)=(A\;\rfloor \;B^{-1})\;\rfloor \;B,}$

with the rejection being defined as

${\displaystyle {\mathcal {P}}_{B}^{\perp }(A)=A-{\mathcal {P}}_{B}(A).}$

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

### Reflection

Simple reflections in a hyperplane are readily expressed in the algebra through conjugation with a single vector. These serve to generate the group of general rotoreflections and rotations.[f]

Reflection of vector ${\displaystyle c}$ along a vector ${\displaystyle m}$. Only the component of ${\displaystyle c}$ parallel to ${\displaystyle m}$ is negated.

The reflection ${\displaystyle c'}$ of a vector ${\displaystyle c}$ along a vector ${\displaystyle m}$, or equivalently in the hyperplane orthogonal to ${\displaystyle m}$, is the same as negating the component of a vector parallel to ${\displaystyle m}$. The result of the reflection will be

${\displaystyle c'={-c_{\|m}+c_{\perp m}}={-(c\cdot m)m^{-1}+(c\wedge m)m^{-1}}={(-m\cdot c-m\wedge c)m^{-1}}=-mcm^{-1}}$

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

${\displaystyle a\mapsto a'=-MaM^{-1},}$

where

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

If we define the reflection along a non-null vector ${\displaystyle 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,

${\displaystyle (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

${\displaystyle (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 ${\displaystyle A}$ using any reflection versor ${\displaystyle M}$ may be written

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

where ${\displaystyle \alpha }$ is the automorphism of reflection through the origin of the vector space (${\displaystyle v\mapsto -v}$) extended through linearity to the whole algebra.

### Rotations

A rotor that rotates vectors in a plane rotates vectors through angle ${\displaystyle \theta }$, that is ${\displaystyle x\mapsto R_{\theta }xR_{\theta }^{\dagger }}$ is a rotation of ${\displaystyle x}$ through angle ${\displaystyle \theta }$. The angle between ${\displaystyle u}$ and ${\displaystyle v}$ is ${\displaystyle \theta /2}$. Similar interpretations are valid for a general multivector ${\displaystyle X}$ instead of the vector ${\displaystyle x}$.[6]

If we have a product of vectors ${\displaystyle R=a_{1}a_{2}\cdots a_{r}}$ then we denote the reverse as

${\displaystyle R^{\dagger }=(a_{1}a_{2}\cdots a_{r})^{\dagger }=a_{r}\cdots a_{2}a_{1}.}$

As an example, assume that ${\displaystyle R=ab}$ we get

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

Scaling ${\displaystyle R}$ so that ${\displaystyle RR^{\dagger }=1}$ then

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

so ${\displaystyle RvR^{\dagger }}$ leaves the length of ${\displaystyle v}$ unchanged. We can also show that

${\displaystyle (Rv_{1}R^{\dagger })\cdot (Rv_{2}R^{\dagger })=v_{1}\cdot v_{2}}$

so the transformation ${\displaystyle RvR^{\dagger }}$ preserves both length and angle. It therefore can be identified as a rotation or rotoreflection; ${\displaystyle 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 ${\displaystyle R=e^{-B\theta /2}}$ that produces a rotation ${\displaystyle \theta }$ in the plane and with the orientation defined by a ${\displaystyle 2}$-blade ${\displaystyle B}$.

Rotors are a generalization of quaternions to ${\displaystyle n}$-dimensional spaces.

For more about reflections, rotations and "sandwiching" products like ${\displaystyle RvR^{\dagger }}$ see Plane of rotation.

### Hypervolume of a parallelotope spanned by vectors

For vectors ${\displaystyle a}$ and ${\displaystyle b}$ spanning a parallelogram we have

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

with the result that ${\displaystyle 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 ${\displaystyle n}$-dimensional parallelotope; the exterior product of vectors ${\displaystyle a_{1},a_{2},\ldots ,a_{n}}$, that is ${\displaystyle \textstyle \bigwedge _{i=1}^{n}a_{i}}$, has a magnitude equal to the volume of the ${\displaystyle n}$-parallelotope. An ${\displaystyle n}$-vector does not 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.

## Linear functions

An important class of functions of multivectors are the linear functions that map multivectors to multivectors. The geometric algebra of an ${\displaystyle n}$-dimensional vector space is spanned by a basis of ${\displaystyle 2^{n}}$ elements. If a multivector is represented by a ${\displaystyle 2^{n}\times 1}$ real column matrix in terms of a basis, then all linear transformations of the multivector can be expressed as the matrix multiplication by a ${\displaystyle 2^{n}\times 2^{n}}$ real matrix. However, such a general linear transformation allows arbitrary exchanges among grades, such as a "rotation" of a scalar into a vector, which has no evident geometric interpretation.

A general linear transformation from vectors to vectors is of interest. With the natural restriction to preserving the induced exterior algebra, the outermorphism of the linear transformation is its unique extension. If ${\displaystyle f}$ is a linear function that maps vectors to vectors, then its outermorphism is the function that obeys the rule

${\displaystyle {\underline {\mathsf {f}}}(a_{1}\wedge a_{2}\wedge \cdots \wedge a_{r})=f(a_{1})\wedge f(a_{2})\wedge \cdots \wedge f(a_{r})}$

for a blade, extended to the whole algebra through linearity.

In the cases of reflections and rotations, their outermorphisms have a particularly simple algebraic form. Specifically, a mapping of vectors of the form

${\displaystyle V\to V:a\mapsto RaR^{-1},}$

extends to the outermorphism

${\displaystyle {\mathcal {G}}(V)\to {\mathcal {G}}(V):A\mapsto RAR^{-1}.}$

## 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 ${\displaystyle p=t+\alpha \ v}$ where ${\displaystyle p}$ and ${\displaystyle t}$ are position vectors for points T and P and ${\displaystyle v}$ is the direction vector for the line.

Then

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

so

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

and

${\displaystyle 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 often makes use of the cross product of vector calculus in three dimensions with a convention of orientation (handedness).

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

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

${\displaystyle 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 ${\displaystyle {\hat {u}}}$ and ${\displaystyle {\hat {v}}}$ is parameterized by angle.

${\displaystyle \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

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

this path vector can be conveniently written in complex exponential form

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

and the derivative with respect to angle is

${\displaystyle {\frac {d\mathbf {r} }{d\theta }}=r{\hat {u}}ie^{i\theta }=\mathbf {r} i.}$

So the torque, the rate of change of work ${\displaystyle W}$, due to a force ${\displaystyle F}$, is

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

Unlike the cross product description of torque, ${\displaystyle \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 ${\displaystyle {\hat {u}}}$ and ${\displaystyle {\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),[5] or less commonly, Cℓ3, called the algebra of physical space (APS) where Cℓ3 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 ${\displaystyle (3+1)}$-dimensional spacetime are instead represented by paravectors: a ${\displaystyle 3}$-dimensional vector (space) plus a ${\displaystyle 1}$-dimensional scalar (time).

In spacetime algebra the electromagnetic field tensor has a bivector representation ${\displaystyle {F}=({E}+ic{B})\gamma _{0}}$.[12] Here, the ${\displaystyle i=\gamma _{0}\gamma _{1}\gamma _{2}\gamma _{3}}$ is the unit pseudoscalar (or four-dimensional volume element), ${\displaystyle \gamma _{0}}$ is the unit vector in time direction, and ${\displaystyle E}$ and ${\displaystyle B}$ are the classic electric and magnetic field vectors (with a zero time component). Using the four-current ${\displaystyle {J}}$, Maxwell's equations then become

Formulation Homogeneous equations Non-homogeneous equations
Fields ${\displaystyle DF=\mu _{0}J}$
${\displaystyle D\wedge F=0}$ ${\displaystyle D\cdot F=\mu _{0}J}$
Potentials (any gauge) ${\displaystyle F=D\wedge A}$ ${\displaystyle D\cdot D\wedge A=\mu _{0}J}$
Potentials (Lorenz gauge) ${\displaystyle F=DA}$

${\displaystyle D\cdot A=0}$

${\displaystyle D^{2}A=\mu _{0}J}$

In geometric calculus, juxtapositioning of vectors such as in ${\displaystyle DF}$ indicate the geometric product and can be decomposed into parts as ${\displaystyle DF=D\cdot F+D\wedge F}$. Here ${\displaystyle D}$ is the covector derivative in any spacetime and reduces to ${\displaystyle \nabla }$ in flat spacetime. Where ${\displaystyle \bigtriangledown }$ plays a role in Minkowski ${\displaystyle 4}$-spacetime which is synonymous to the role of ${\displaystyle \nabla }$ in Euclidean ${\displaystyle 3}$-space and is related to the d'Alembertian by ${\displaystyle \Box =\bigtriangledown ^{2}}$. Indeed, given an observer represented by a future pointing timelike vector ${\displaystyle \gamma _{0}}$ we have

${\displaystyle \gamma _{0}\cdot \bigtriangledown ={\frac {1}{c}}{\frac {\partial }{\partial t}}}$
${\displaystyle \gamma _{0}\wedge \bigtriangledown =\nabla }$

Boosts in this Lorentzian metric space have the same expression ${\displaystyle e^{\beta }}$ as rotation in Euclidean space, where ${\displaystyle {\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

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

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

${\displaystyle Z=e_{1}P=e_{1}(xe_{1}+ye_{2})=x(1)+y(e_{1}e_{2}),}$

where we identify ${\displaystyle i\mapsto e_{1}e_{2}}$ since

${\displaystyle ({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 ${\displaystyle {\mathcal {G}}(3,0)}$ with basis ${\displaystyle \{1,e_{2}e_{3},e_{3}e_{1},e_{1}e_{2}\}}$ is isomorphic to the quaternions as may be seen by identifying ${\displaystyle i\mapsto -e_{2}e_{3}}$, ${\displaystyle j\mapsto -e_{3}e_{1}}$ and ${\displaystyle k\mapsto -e_{1}e_{2}}$.

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

## Geometric calculus

Main article: Geometric calculus

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

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

${\displaystyle \int _{A}dA\,\nabla f=\oint _{\partial A}dx\,f}$

and then one can write

${\displaystyle \nabla f=\nabla \cdot f+\nabla \wedge f}$

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

In ${\displaystyle 1D}$ when ${\displaystyle A}$ is a curve with endpoints ${\displaystyle a}$ and ${\displaystyle b}$, then

${\displaystyle \int _{A}dA\,\nabla f=\oint _{\partial A}dx\,f}$

reduces to

${\displaystyle \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 & Scheuermann (2010), which also includes further references, in particular to Dorst, Fontijne & Mann (2007). Other useful references are Li (2008) and Bayro-Corrochano (2010).

Working within GA, Euclidean space ${\displaystyle {\mathcal {E}}^{3}}$ is embedded projectively in the CGA ${\displaystyle {\mathcal {G}}^{4,1}}$ via the identification of Euclidean points with ${\displaystyle 1}$-d subspaces in the ${\displaystyle 4}$-d null cone of the ${\displaystyle 5}$-d 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 ${\displaystyle e_{+}}$ and ${\displaystyle e_{-}}$ such that ${\displaystyle {e_{+}}^{2}=+1}$ and ${\displaystyle {e_{-}}^{2}=-1}$ to the basis of ${\displaystyle {\mathcal {G}}(3,0)}$ and identify null vectors

${\displaystyle n_{\infty }=e_{-}+e_{+}}$ as an ideal point (point at infinity) (see Compactification) and
${\displaystyle n_{o}={\tfrac {1}{2}}(e_{-}-e_{+})}$ as the point at the origin, giving
${\displaystyle 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 third 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.[14] 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 ${\displaystyle 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 ${\displaystyle i}$, ${\displaystyle j}$, ${\displaystyle k}$ to indicate the basis vectors of ${\displaystyle \mathbf {R} ^{3}}$: it is being thought of as the purely imaginary quaternions. From the perspective of geometric algebra, quaternions can be identified as Cℓ03,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[15] 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.[2] 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 and robotics, geometric algebras have been revived in order to efficiently represent rotations and other transformations. For applications of GA in robotics (screw theory, kinematics and dynamics using versors), computer vision, control and neural computing (geometric learning) see Bayro (2010).

## 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 [1] 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 [2] Precompiler based on Gaalop integrated with CMake.
• Gaalet, C++ Expression Template Library Seybold.
• Versor Colapinto, A lightweight templated C++ Library with an OpenGL interface for efficient geometric algebra programming in arbitrary metrics, including conformal
• Clifford Algebra with Mathematica clifford.m

## Notes

1. ^ This should not be confused with Hestenes's irregular generalization ${\displaystyle \textstyle C\bullet _{H}D:=\sum _{r\neq 0,s\neq 0}\langle \langle C\rangle _{r}\langle D\rangle _{s}\rangle _{|s-r|}}$, where the distinguishing notation is from Dorst, Fontijne & Mann (2007), §B.1 p. 590, which makes the point that scalar components must be handled separately with this product.
2. ^ 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 ${\displaystyle A}$ may not exceed that of ${\displaystyle B}$.
3. ^ Dorst appears to merely assume ${\displaystyle B^{+}}$ such that ${\displaystyle B\;\rfloor \;B^{+}=1}$, whereas Perwass (2009) defines ${\displaystyle B^{+}=B^{\dagger }/(B\;\rfloor \;B^{\dagger })}$, where ${\displaystyle B^{\dagger }}$ is the conjugate of ${\displaystyle B}$, equivalent to the reverse of ${\displaystyle B}$ up to a sign.
4. ^ That is to say, the projection must be defined as ${\displaystyle {\mathcal {P}}_{B}(A)=(A\;\rfloor \;B^{+})\;\rfloor \;B}$ and not as ${\displaystyle (A\;\rfloor \;B)\;\rfloor \;B^{+}}$, though the two are equivalent for non-null blades ${\displaystyle B}$
5. ^ This generalization to all ${\displaystyle A}$ is apparently not considered by Perwass or Dorst.
6. ^ Perwass also claims here that David Hestenes coined the term "versor", where he is presumably referring to the GA context (the term versor appears to have been used by Hamilton to refer to a related object of the quaternion algebra).

## Citations

1. ^
2. ^ a b
3. ^
4. ^
5. ^ a b
6. ^ a b Hestenes, David (2005), Introduction to Primer for Geometric Algebra
7. ^
8. ^ Wheeler & Misner 1973, p. 83.
9. ^
10. ^ a b Dorst, §3.6 p. 85.
11. ^ Perwass 2009, §3.2.10.2 p. 83.
12. ^ "Electromagnetism using Geometric Algebra versus Components". Retrieved 2013-03-19.
13. ^
14. ^
15. ^