Geometric Algebra (1)

Geometric algebra is not to be confused with algebraic geometry.

Geometric algebra is also known as Clifford algebra which has many applications in physics and engineering. Algebraic geometry, on the other hand, is a branch of abstract mathematics.

Geometric algebra unifies projective geometry, complex numbers and quaternions in an intuitive framework. In geometric algebra lines, planes and volumes become the basic elements of the algebra. These elements are manipulated by algebraic operators that have intuitive geometric interpretations as well.

Basis Elements

Any point in a linear mathematical space can be expressed as a linear combination of the basis elements.

For example, a vector in the 2D Euclidean space known as R^2 can be described by the orthonormal basis elements \mathbf{e_1} and  \mathbf{e_2} (see the perpendicular arrows in the figure below). The term “othonormal” means that \mathbf{e_1} and  \mathbf{e_2} have unit length and they are orthogonal (90 degrees angle between them). In the most general sense, “orthogonal” means independent.


Oriented Subspaces

The product \displaystyle \mathbf{e_1 e_2} or \displaystyle \mathbf{e_2 e_1} represent oriented planes. The orientation of the \displaystyle \mathbf{e_2 e_1} plane is the opposite of the orientation of the \displaystyle \mathbf{e_1 e_2} plane (circular arrows in the figure above indicate the orientation).

Oriented subspaces can be used as basis elements too. We will see examples below.


There are alternative names for subspaces. The oriented plane \displaystyle \mathbf{e_1 e_2} or \displaystyle \mathbf{e_2 e_1} is a bivector.

The term “bivector” is not very meaningful in  R^2.


The alternative name for \displaystyle \mathbf{e_1 e_2 e_3} is trivector. There is no trivector in R^2, obviously. Trivector represents an oriented volume. It is only meaningful in R^3 or higher dimensional Euclidean spaces.

To repeat, the terms “bivector” and “trivector” are meaningful in R^3 or higher dimensional Euclidean spaces.

Vector space, multivector space and R^3

When I introduced the basis elements above I was very careful to say “mathematical space” to keep it general. I avoided the term “vector space.” I left room for the introduction of the “multivector space.”

An Euclidean space is not technically a vector space but rather an affine space. The 3D Euclidean space R^3 is more general than a “vector space.” It is more general than a “multivector space” too.

Any 3D vector in \displaystyle R^3 can be written as

a_0+a_1\mathbf{e_1}+a_2 \mathbf{e_2}+a_3\mathbf{e_3}

Any 3D multivector in \displaystyle R^3 can be written as

a_0+a_1\mathbf{e_1}+a_2 \mathbf{e_2}+a_3\mathbf{e_3} + a_{12} \mathbf{e_1} \mathbf{e_2} + a_{13} \mathbf{e_1} \mathbf{e_3} + a_{23} \mathbf{e_2} \mathbf{e_3} + a_{123} \mathbf{e_1} \mathbf{e_2} \mathbf{e_3}

where a_0, a_1, a_2, a_3, a_{12}, a_{13}, a_{23}, a_{123} are coefficients. Since \displaystyle R^3 is a space of real numbers as the letter R indicates, the coefficients are real numbers.

Multivector space = Clifford space

The space containing all the 3D multivectors is called three-dimensional Clifford space Cl_3. The basis elements of  Cl_3 are \displaystyle \mathbf{e_1}, \displaystyle \mathbf{e_2}, \mathbf{e_3}, \displaystyle \mathbf{e_1 e_2}, \displaystyle \mathbf{e_1 e_3}, \displaystyle \mathbf{e_2 e_3}, \displaystyle \mathbf{e_1 e_2 e_3}.

The unit number 1 can also be treated as a basis element associated with the coefficient a_0.

In a 3D multivector there are 3 unit vectors (\mathbf{e_1}, \mathbf{e_2}, \mathbf{e_3}) therefore the multiplicity of  unit vectors in a general 3D multivector is 3.

In a 3D multivector there are 3 unit bivectors (\mathbf{e_1 e_2}, \mathbf{e_1 e_3}, \mathbf{e_2 e_3}) therefore the multiplicity of  unit bivectors in a general 3D multivector is 3.

In a 3D multivector there is 1 unit trivector (\mathbf{e_1 e_2 e_3}) therefore the multiplicity of  unit trivectors in a general 3D multivector is 1.

n-dimensional Clifford space

The table [1] below shows the basis elements of n-dimensional Clifford space Cl_n.



The basis elements (subspaces) of Cl_n are known as blades.

Bivectors are blades of grade 2 (also known as 2-blades)

Trivectors are blades of grade 3 (also known as 3-blades)

Total Number of Blades in Cl_n is 2^n.

Number of k-dimensional subspaces (k-blades) which is the multiplicity is given by

Multiplicity \displaystyle = \binom{n}{k} = \frac{n!}{k!(n-k)!}

Is \displaystyle \mathbf{e_1 e_2 e_3} a trivector or pseudoscalar?

In Cl_3 the \displaystyle \mathbf{e_1 e_2 e_3} is a pseudoscalar as well as a trivector. Remember “trivector” is just an alternative name for \displaystyle \mathbf{e_1 e_2 e_3}. There is no mathematical significance in the name “trivector.”The name “pseudoscalar” has mathematical significance, however.

What is a pseudoscalar?

In physics pseudoscalar quantities change sign under parity operation. Parity operation is also known as space inversion. Space inversion means that the 3 spatial coordinates x,y,z change sign simultaneously.

\mathbf{(-e_1) (-e_2) (-e_3)}=-\mathbf{e_1 e_2 e_3}

The sign change of the trivector under parity operation is consistent with the multiplication table (axioms) of the basis elements of the 3D vector space. We will discuss this below. So, in this sense trivector is a pseudoscalar.

Parity operation is not well defined in 2D. So, if parity operation is defined for 3 space coordinates only then we should not generalize this definition of pseudoscalar. In my opinion, “pseudoscalar” terminology makes sense only in 3D. The term “pseudoscalar” has to be defined whenever we use it.

Properties of the Basis Elements

A linear mathematical space is characterized by its basis elements. The characterization is not complete without defining the multiplication properties of the basis elements.

Any 3D vector in \displaystyle R^3 can be written as

a_0+a_1\mathbf{e_1}+a_2 \mathbf{e_2}+a_3\mathbf{e_3}

Any quaternion (which is also embedded in in \displaystyle R^3) can be written as

a_0+a_1\mathbf{i}+a_2 \mathbf{j}+a_3\mathbf{k}

where \mathbf{i}, \mathbf{j}, \mathbf{k} are the quaternion basis elements.

The vector and the quaternion has the same form. The similarity between the forms (as shown above) created a lot of confusion. People thought that a quaternion is some kind of vector. The confusion can be traced back to Gibbs-Heaviside who changed the definition of “vector.” In modern times we use the Gibbs-Heaviside definition of vector which is a directed line segment.

Vector and quaternion have the same form but their basis elements are completely different.

As a reminder, the multiplication rules for the basis elements are:

In the case of 3D vector basis elements the axioms are:

{\mathbf{e_1}}^2 = {\mathbf{e_2}}^2 = {\mathbf{e_3}}^2 = \mathbf{1}

or, more generally

\mathbf{e_m e_n} + \mathbf{e_n e_m} = 2 g_{mn}

(\mathbf{e_m e_n})^2 = -{\mathbf{e_m}}^2 {\mathbf{e_n}}^2 = -1 for m \neq n

where the R^3 metric is

g_{mn} =1 when m=n and g_{mn} =0 when m \neq n

There are additional axioms for the trivector.

\mathbf{e_1 e_2 e_3} = - \mathbf{e_3 e_2 e_1}

(\mathbf{e_1 e_2 e_3})^2 = -(\mathbf{e_1 e_2 e_3})(\mathbf{e_3 e_2 e_1})=-\mathbf{e_1}^2 \mathbf{e_2}^2 \mathbf{e_3}^2=-1

The axioms for 3D vector basis elements make sense geometrically if you remember that these basis vectors are orthonormal. They have unit length and they are perpendicular to each other. The geometric meanings of these basis elements and their products can be seen in this picture. Do not be bothered by the \displaystyle \wedge notation in the picture. Ignore \displaystyle \wedge for the time being. We will discuss it in the second installment of this tutorial series. For example, \mathbf{e_1 \wedge e_2} and \mathbf{e_1 e_2} is the same because \mathbf{e_1} \cdot \mathbf{e_2} = 0 by definition. In any case, we’ll discuss this new notation involving \wedge and \cdot in the second installment.

GA_basis_of_3d_multivector.svgImage credit

In the case of quaternion basis elements the axioms are:

{\mathbf{i}}^2 = {\mathbf{j}}^2 = {\mathbf{k}}^2 = {\mathbf{i}}{\mathbf{j}}{\mathbf{k}}= -\mathbf{1}
\mathbf{i j} = \mathbf{k}
\mathbf{j k} = \mathbf{i}
\mathbf{k i} = \mathbf{j}
\mathbf{i k} = -\mathbf{j}
\mathbf{j i} = -\mathbf{k}
\mathbf{k j} = -\mathbf{i}

Note the emphasis on the term “axiom” meaning that we start with these definitions. Everything else will be based on these axioms.


Remember the multivector

a_0+a_1\mathbf{e_1}+a_2 \mathbf{e_2}+a_3\mathbf{e_3} + a_{12} \mathbf{e_1} \mathbf{e_2} + a_{13} \mathbf{e_1} \mathbf{e_3} + a_{23} \mathbf{e_2} \mathbf{e_3} + a_{123} \mathbf{e_1} \mathbf{e_2} \mathbf{e_3}

The bivector part (a_{12} \mathbf{e_1} \mathbf{e_2} + a_{13} \mathbf{e_1} \mathbf{e_3} + a_{23} \mathbf{e_2} \mathbf{e_3}) of the multivector is a quaternion.

To see this connection

(\mathbf{e_2 e_3})(\mathbf{e_3 e_1}) = {\mathbf{e_3}}^2 \mathbf{e_2 e_1}=-\mathbf{e_1 e_2}

(\mathbf{e_3 e_1})(\mathbf{e_1 e_2}) = {\mathbf{e_1}}^2 \mathbf{e_3 e_2}=-\mathbf{e_2 e_3}

(\mathbf{e_1 e_2})(\mathbf{e_2 e_3}) = {\mathbf{e_2}}^2 \mathbf{e_1 e_3}=-\mathbf{e_3 e_1}

(\mathbf{e_2 e_3})(\mathbf{e_2 e_3})=(\mathbf{e_2 e_3})(-\mathbf{e_3 e_2})=-\mathbf{e_2}^2 \mathbf{e_3}^2=-1

(\mathbf{e_3 e_1})(\mathbf{e_3 e_1})=(\mathbf{e_3 e_1})(-\mathbf{e_1 e_3})=-\mathbf{e_1}^2 \mathbf{e_3}^2=-1

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

we used the axioms (multiplication table) of the basis elements of the 3D vector space.

\mathbf{e_2 e_3} corresponds to quaternion basis element \mathbf{j}

\mathbf{e_3 e_1} corresponds to quaternion basis element \mathbf{i}

\mathbf{e_1 e_2} corresponds to quaternion basis element \mathbf{k}


The bivectors and trivectors square to -1. Without this property the correspondence between bivector basis elements and quaternion basis elements cannot be established.

Some say that bivector and trivector (basis elements) are “imaginary” in the sense that they square to -1. I don’t emphasize this terminology.


[1] S. Franchini, G.Vassallo, F. Sorbello, “A Brief Introduction to Clifford Algebra

About Suresh Emre

I have worked as a physicist at the Fermi National Accelerator Laboratory and the Superconducting Super Collider Laboratory. I am a volunteer for the Renaissance Universal movement. My main goal is to inspire the reader to engage in Self-discovery and expansion of consciousness.
This entry was posted in mathematics, tutorial and tagged , , . Bookmark the permalink.