Math Wiki
Advertisement

Clifford algebra is a type of algebra characterized by the geometric product of scalars, vectors, bivectors, trivectors...etc.

Just as a vector has length so a bivector has area and a trivector has volume.

Just as a vector has direction so a bivector has orientation. In three dimensions a trivector has only one possible orientation and is therefore a pseudoscalar. But in four dimensions a trivector becomes a pseudovector and the quadvector becomes the pseudoscalar.

Multiplication of arbitrary vectors[]

The dot product of two vectors is:

Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} \mathbf{u} \cdot \mathbf{v} &= {\color{blue}\text{vector}} \cdot {\color{blue}\text{vector}} \\ &= (u_{x} + u_{y})(v_{x} + v_{y}) \\ &= {\color{red}u_{x} v_{x} + u_{y} v_{y}} \end{split} }

But this is actually quite mysterious. When we multiply and we dont get so why is it that when we multiply vectors we only multiply parallel components? Clifford algebra has a surprisingly simple answer. The answer is: We dont! Instead of the dot product or the wedge product Clifford algebra uses the geometric product.

Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} \mathbf{u} \mathbf{v} &= (u_{x} {\color{blue}e_{x}} + u_{y} {\color{blue} e_{y}} ) (v_{x} {\color{blue}e_{x}} + v_{y} {\color{blue} e_{y}} ) \\ &= u_{x} v_{x} {\color{red}e_{x} e_{x}} + u_{x} v_{y} {\color{green}e_{x} e_{y}} + u_{y} v_{x} {\color{green}e_{y} e_{x}} + u_{y} v_{y} {\color{red}e_{y} e_{y}} \\ &= u_{x} v_{x} {\color{red}(1)} + u_{y} v_{y} {\color{red}(1)} + u_{x} v_{y} {\color{green}e_{x} e_{y}} - u_{y} v_{x} {\color{green}e_{x} e_{y}} \\ &= (u_{x} v_{x} + u_{y} v_{y}){\color{red}(1)} + (u_{x} v_{y} - u_{y} v_{x}) {\color{green}e_{xy}} \\ &= {\color{red}\text{scalar}} + {\color{green}\text{bivector}} \end{split} }

A scalar plus a bivector (or any number of blades of different grade) is called a multivector. The idea of adding a scalar and a bivector might seem wrong but in the real world it just means that what appears to be a single equation is in fact a set of *simultaneous equations.

For example:

would just mean that:
Failed to parse (syntax error): {\displaystyle (u_{x} v_{x} + u_{y} v_{y}){\color{red}(1)} = 5 \\ \quad \quad \quad \text{and} \\ (u_{x} v_{y} - u_{y} v_{x}) {\color{green}e_{xy}} = 0 }

Back to top

Rules[]

All the properties of Clifford algebra derive from a few simple rules.

Let and be perpendicular unit vectors.

Multiplying two perpendicular vectors results in a bivector:

Multiplying three perpendicular vectors results in a trivector:

Multiplying parallel vectors results in a scalar:

Clifford algebra is associative therefore the fact that multiplying parallel vectors results in a scalar means that:

Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} {\color{green}(e_{x} e_{y})} {\color{blue} (e_{y}) } &= {\color{blue} e_{x}} {\color{red}(e_{y} e_{y})} \\ &= {\color{blue} e_{x}} {\color{red}(1)} \\ &= {\color{blue} e_{x}} \end{split} }
and:
and:

Rotation from x to y is the negative of rotation from y to x:

Therefore:
Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} {\color{green}(e_{x} e_{y})} {\color{blue} (e_{x}) } &= \phantom{-}{\color{blue} e_{x}} {\color{green}(e_{y} e_{x})} \\ &= {\color{blue} -e_{x}} {\color{green}(e_{x} e_{y})} \\ &= -{\color{red} (e_{x} e_{x})} {\color{blue} e_{y}} \\ &= -{\color{red} (1)} {\color{blue} e_{y}} \\ &= -{\color{blue} e_{y}} \end{split} }

Back to top

Multiplication tables[]

In one dimension:
In two dimensions:
In three dimensions:
In four dimensions:

Back to top

Basis[]

Every multivector of the Clifford algebra can be expressed as a linear combination of the canonical basis elements. The basis elements of the Clifford algebra Cℓ3 are and the general element of Cℓ3 is given by

If are all real then the Clifford algebra is Cℓ3(R). If the coefficients are allowed to be complex then the Clifford algebra is Cℓ3(C).

A multivector can be separated into components of different grades:

Failed to parse (syntax error): {\displaystyle \langle \mathbf{A} \rangle_0 = a_0{\color{red}(1)}\\ \langle \mathbf{A} \rangle_1 = a_1 {\color{blue}e_x} + a_2 {\color{blue}e_y} + a_3 {\color{blue}e_z}\\ \langle \mathbf{A} \rangle_2 = a_4 {\color{green}e_{xy}} + a_5 {\color{green}e_{xz}} + a_6 {\color{green}e_{yz}}\\ \langle \mathbf{A} \rangle_3 = a_7 {\color{orange}e_{xyz}}\\ }

The elements of even grade form a subalgebra because the sum or product of even grade elements always results in an element of even grade. The elements of odd grade do not form a subalgebra.

Back to top

Relation to other algebras[]

Failed to parse (syntax error): {\displaystyle Cℓ_0 (\mathbf{R})} : Real numbers (scalars). A scalar can (and should) be thought of as zero vectors multiplied together. See Empty product.

Failed to parse (syntax error): {\displaystyle Cℓ_0 (\mathbf{C})} : Complex numbers

Failed to parse (syntax error): {\displaystyle Cℓ_1 (\mathbf{R})} : Split-complex numbers

Failed to parse (syntax error): {\displaystyle Cℓ_1 (\mathbf{C})} : Bicomplex numbers

Failed to parse (syntax error): {\displaystyle Cℓ_2^0 (\mathbf{R})} : Complex numbers (The superscript 0 indicates the even subalgebra)

Failed to parse (syntax error): {\displaystyle Cℓ_3^0 (\mathbf{R})} : Quaternions

Failed to parse (syntax error): {\displaystyle Cℓ_3^0 (\mathbf{C})} : Biquaternions

Back to top

Multivector multiplication using tensors[]

To find the product

we have to multiply every component of the first multivector with every component of the second multivector.

Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} AB = & \phantom{+} (a_0 b_0 {\color{red}1}{\color{red}1} + a_0 b_1 {\color{red}1}{\color{blue} e_{x}} + a_0 b_2 {\color{red}1}{\color{blue} e_{y}} + a_0 b_3 {\color{red}1}{\color{green} e_{xy}}) \\ &+ (a_1 b_0 {\color{blue} e_{x}}{\color{red}1} + a_1 b_1 {\color{blue} e_{x}}{\color{blue} e_{x}} + a_1 b_2 {\color{blue} e_{x}}{\color{blue} e_{y}} + a_1 b_3 {\color{blue} e_{x}}{\color{green} e_{xy}}) \\ &+ (a_2 b_0 {\color{blue} e_{y}}{\color{red}1} + a_2 b_1 {\color{blue} e_{y}}{\color{blue} e_{x}} + a_2 b_2 {\color{blue} e_{y}}{\color{blue} e_{y}} + a_2 b_3 {\color{blue} e_{y}}{\color{green} e_{xy}}) \\ &+ (a_3 b_0 {\color{green} e_{xy}}{\color{red}1} + a_3 b_1 {\color{green} e_{xy}}{\color{blue} e_{x}} + a_3 b_2 {\color{green} e_{xy}}{\color{blue} e_{y}} + a_3 b_3 {\color{green} e_{xy}}{\color{green} e_{xy}}) \end{split} }

Then we reduce each of the 16 resulting terms to its standard form.

Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} AB = & \phantom{+} (a_0 b_0 {\color{red}1} + a_0 b_1 {\color{blue} e_{x}} + a_0 b_2 {\color{blue} e_{y}} + a_0 b_3 {\color{green} e_{xy}}) \\ &+ (a_1 b_0 {\color{blue} e_{x}} + a_1 b_1 {\color{red}1} + a_1 b_2 {\color{green} e_{xy}} + a_1 b_3 {\color{blue} e_{y}}) \\ &+ (a_2 b_0 {\color{blue} e_{y}} - a_2 b_1 {\color{green} e_{xy}} + a_2 b_2 {\color{red}1} - a_2 b_3 {\color{blue} e_{x}}) \\ &+ (a_3 b_0 {\color{green} e_{xy}} - a_3 b_1 {\color{blue} e_{y}} + a_3 b_2 {\color{blue} e_{x}} - a_3 b_3 {\color{red}1}) \end{split} }

Finally we collect like products into the four components of the final multivector.

Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} AB = & \phantom{+} ( a_0 b_0 + a_1 b_1 + a_2 b_2 - a_3 b_3 ) {\color{red}1} \\ &+ ( a_1 b_0 + a_0 b_1 + a_3 b_2 - a_2 b_3 ) {\color{blue} e_{x} } \\ &+ ( a_2 b_0 - a_3 b_1 + a_0 b_2 + a_1 b_3 ) {\color{blue} e_{y} } \\ &+ ( a_3 b_0 - a_2 b_1 + a_1 b_2 + a_0 b_3 ) {\color{green} e_{xy} } \end{split} }

This is all very tedious and error-prone. It would be nice if there was some way to cut straight to the end. Tensor notation allows us to do just that.

To find the tensor that we need we first need to know which terms end up as scalars, which terms end up as vectors...etc. There is an easy way to do this and it involves the multiplication table.

First lets start with an easy one.

Back to top

Complex numbers[]

The multiplication table for Failed to parse (syntax error): {\displaystyle Cℓ_2^0 (\mathbf{R})} (Which is isomorphic to complex numbers)

We can see then that:

It worked! All the terms in the first row are scalars and all the terms in the second row are bivectors. This is exactly what we are looking for.

Pay special attention to the signs in the final matrix above.

Therefore to find the product

We would multiply:

Each row of the final matrix has exactly the right terms with exactly the right signs.

The vector above represents a complex number. You should think of the first column of the matrix above as representing another complex number. All the other terms in the matrix are just there to make our lives a little bit easier.

It works. It works so well that complex numbers can be represented as matrices as:

Which corresponds perfectly to a multiplication table for complex numbers:

Back to top

Quaternions[]

The multiplication table for Failed to parse (syntax error): {\displaystyle Cℓ_3^0 (\mathbf{R})} (Which is isomorphic to quaternions) is:

The entire 2nd row of the multiplication table is just multiplied by the entire first row.
The entire 3rd row of the multiplication table is just multiplied by the entire first row.
The entire 4th row of the multiplication table is just multiplied by the entire first row.

We can see then that if we multiply each row by the first row again then we get:

This works because we have in effect multiplied each term by a second term twice. In other words we have multiplied every term by the square of another term and the square of every term is either 1 or -1.

Therefore to find the product

We would multiply:

Just as complex numbers can be represented as matrices, so a quaternion can be represented as:

Which corresponds to a multiplication table for quaternions:

1 −k −j −i
k 1 i −j
j −i 1 k
i j k 1

Back to top

CL2[]

The multiplication table for Failed to parse (syntax error): {\displaystyle Cℓ_{2} (\mathbf{R})} is:

We can see then that:

Therefore to find the product

We would multiply:

Back to top

Squares of pseudoscalars are either 1 or -1[]

In 0 dimensions:

In 1 dimension:

In 2 dimensions:

In 3 dimensions:

In 4 dimensions:

In 5 dimensions:

In 6 dimensions:

In 7 dimensions:

In 8 dimensions:

In 9 dimensions:

Back to top

Bivectors in higher dimensions[]

A simple bivector can be used to represent a single rotation.

In four dimensions a rigid object can rotate in two different ways simultaneously. Such a rotation can only be represented as the sum of two simple bivectors.

In six dimensions a rigid object can rotate in three different ways simultaneously. Such a rotation can only be represented as the sum of three simple bivectors.

From Wikipedia:Bivector

The wedge product of two vectors is a bivector, but not all bivectors are wedge products of two vectors. For example, in four dimensions the bivector

cannot be written as the wedge product of two vectors. A bivector that can be written as the wedge product of two vectors is simple. In two and three dimensions all bivectors are simple, but not in four or more dimensions;

A bivector has a real square if and only if it is simple.

But:

Back to top

Other quadratic forms[]

The square of a vector is:

Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} \mathbf{v} \mathbf{v} &= (v_{x} {\color{blue}e_{x}} + v_{y} {\color{blue}e_{y}}) (v_{x} {\color{blue}e_{x}} + v_{y} {\color{blue}e_{y}}) \\ &= v_{x} v_{x} {\color{red}e_{x} e_{x}} + v_{x} v_{y} {\color{green}e_{x} e_{y}} + v_{y} v_{x} {\color{green}e_{y} e_{x}} + v_{y} v_{y} {\color{red}e_{y} e_{y}} \\ &= v_{x} v_{x} {\color{red}(1)} + v_{y} v_{y} {\color{red}(1)} + v_{x} v_{y} {\color{green}e_{x} e_{y}} - v_{y} v_{x} {\color{green}e_{x} e_{y}} \\ &= (v_{x} v_{x} + v_{y} v_{y}){\color{red}(1)} + (v_{x} v_{y} - v_{y} v_{x}) {\color{green}e_{xy}} \\ &= (v_{x}^2 + v_{y}^2){\color{red}(1)} + (0) {\color{green}e_{xy}} \\ &= (v_{x}^2 + v_{y}^2){\color{red}(1)} \\ &= {\color{red}\text{scalar}} \end{split} }
() is called the quadratic form. In this case both terms are positive but some Clifford algebras have quadratic forms with negative terms. Some have both positive and negative terms.

From Wikipedia:Clifford algebra:

Every nondegenerate quadratic form on a finite-dimensional real vector space is equivalent to the standard diagonal form:

where n = p + q is the dimension of the vector space. The pair of integers (p, q) is called the *signature of the quadratic form. The real vector space with this quadratic form is often denoted Rp,q. The Clifford algebra on Rp,q is denoted Cℓp,q(R). The symbol Cℓn(R) means either Cℓn,0(R) or Cℓ0,n(R) depending on whether the author prefers positive-definite or negative-definite spaces.

A standard basis {ei} for Rp,q consists of n = p + q mutually orthogonal vectors, p of which square to +1 and q of which square to −1. The algebra Cℓp,q(R) will therefore have p vectors that square to +1 and q vectors that square to −1.


From Wikipedia:Spacetime algebra:

*Spacetime algebra (STA) is a name for the Clifford algebra Cl3,1(R), or equivalently the geometric algebra G(M4), which can be particularly closely associated with the geometry of special relativity and relativistic spacetime. See also *Algebra of physical space.

The spacetime algebra may be built up from an orthogonal basis of one time-like vector and three space-like vectors, , with the multiplication rule

where is the Minkowski metric with signature (− + + +).

Thus:

The basis vectors share these properties with the *Gamma matrices, but no explicit matrix representation need be used in STA.


Failed to parse (syntax error): {\displaystyle Cℓ_{3,0} (\mathbf{R})} :Algebra of physical space (Time = scalar)

Failed to parse (syntax error): {\displaystyle Cℓ_{3,1} (\mathbf{R})} :Spacetime algebra (Time = vector)

Failed to parse (syntax error): {\displaystyle Cℓ_{0,2} (\mathbf{R})} :Quaternions (Three quaternions = two vectors that square to -1 and one bivector that squares to -1)

Back to top


Pauli matrices and Tensors[]

Clifford algebra in two and three dimensions has the same multiplication table as Pauli matrices () so it is tempting to assume that Clifford algebra is derived from Pauli matrices. But in fact, I think it would be more accurate to say that tensors in general owe their properties to, and are ultimately derived from, Clifford algebra rather than the other way around.

Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} \mathbf{u} \otimes \mathbf{v} &= \begin{bmatrix} u_{x} {\color{blue} e_{x}} \\ u_{y} {\color{blue} e_{y}} \end{bmatrix} \begin{bmatrix} v_{x} {\color{blue}e_{x}} & v_{y} {\color{blue}e_{y}} \end{bmatrix} \\ \\ &= \begin{bmatrix} u_{x} v_{x} {\color{red} e_{x} e_{x} } & u_{x} v_{y} {\color{green} e_{x} e_{y} } \\ u_{y} v_{x} {\color{green} e_{y} e_{x} } & u_{y} v_{y} {\color{red} e_{y} e_{y} } \end{bmatrix} \end{split}\\ \\ \\ \\ }
Failed to parse (unknown function "\begin{split}"): {\displaystyle \begin{split} (\mathbf{u} \otimes \mathbf{v}) \cdot (\mathbf{v})^{-1} &= \begin{bmatrix} u_{x} v_{x} {\color{red} e_{x} e_{x} } & u_{x} v_{y} {\color{green} e_{x} e_{y} } \\ u_{y} v_{x} {\color{green} e_{y} e_{x} } & u_{y} v_{y} {\color{red} e_{y} e_{y} } \end{bmatrix} \cdot \begin{bmatrix} v_{x} {\color{blue} e_{x}} \\ v_{y} {\color{blue} e_{y}} \end{bmatrix}^{-1} \\ \\ &= \begin{bmatrix} u_{x} v_{x} {\color{red} e_{x} e_{x} } & u_{x} v_{y} {\color{green} e_{x} e_{y} } \\ u_{y} v_{x} {\color{green} e_{y} e_{x} } & u_{y} v_{y} {\color{red} e_{y} e_{y} } \end{bmatrix} \cdot \begin{bmatrix} v_{x} {\color{blue} e_{x}} (v_x^2 + v_y^2)^{-1} \\ v_{y} {\color{blue} e_{y}} (v_x^2 + v_y^2)^{-1} \end{bmatrix} \\ \\ &= \begin{bmatrix} u_{x} v_{x} {\color{red} e_{x} e_{x} } v_{x} e_{x} (v_x^2 + v_y^2)^{-1} + u_{x} v_{y} {\color{green} e_{x} e_{y} } v_{y} e_{y} (v_x^2 + v_y^2)^{-1} \\ u_{y} v_{x} {\color{green} e_{y} e_{x} } v_{x} e_{x} (v_x^2 + v_y^2)^{-1} + u_{y} v_{y} {\color{red} e_{y} e_{y} } v_{y} e_{y} (v_x^2 + v_y^2)^{-1} \end{bmatrix} \\ \\ &= \begin{bmatrix} (u_{x} v_{x} {\color{red} e_{x} e_{x} } v_{x} e_{x} + u_{x} v_{y} {\color{green} e_{x} e_{y} } v_{y} e_{y}) (v_x^2 + v_y^2)^{-1} \\ (u_{y} v_{x} {\color{green} e_{y} e_{x} } v_{x} e_{x} + u_{y} v_{y} {\color{red} e_{y} e_{y} } v_{y} e_{y}) (v_x^2 + v_y^2)^{-1} \end{bmatrix} \\ \\ &= \begin{bmatrix} (u_{x} v_{x} v_{x} {\color{red} e_{x} e_{x} } e_{x} + u_{x} v_{y} v_{y} {\color{green} e_{x} e_{y} } e_{y}) (v_x^2 + v_y^2)^{-1} \\ (u_{y} v_{x} v_{x} {\color{green} e_{y} e_{x} } e_{x} + u_{y} v_{y} v_{y} {\color{red} e_{y} e_{y} } e_{y}) (v_x^2 + v_y^2)^{-1} \end{bmatrix} \\ \\ &= \begin{bmatrix} (u_{x} v_{x} v_{x} e_{x} {\color{red}e_{x} e_{x}} + u_{x} v_{y} v_{y} e_{x} {\color{red}e_{y} e_{y}}) (v_x^2 + v_y^2)^{-1} \\ (u_{y} v_{x} v_{x} e_{y} {\color{red}e_{x} e_{x}} + u_{y} v_{y} v_{y} e_{y} {\color{red}e_{y} e_{y}}) (v_x^2 + v_y^2)^{-1} \end{bmatrix} \\ \\ &= \begin{bmatrix} (u_{x} v_{x} v_{x} {\color{blue}e_{x}} + u_{x} v_{y} v_{y} {\color{blue}e_{x}}) (v_x^2 + v_y^2)^{-1} \\ (u_{y} v_{x} v_{x} {\color{blue}e_{y}} + u_{y} v_{y} v_{y} {\color{blue}e_{y}}) (v_x^2 + v_y^2)^{-1} \end{bmatrix} \\ \\ &= \begin{bmatrix} u_{x} {\color{blue}e_{x}} (v_{x} v_{x} + v_{y} v_{y}) (v_x^2 + v_y^2)^{-1} \\ u_{y} {\color{blue}e_{y}} (v_{x} v_{x} + v_{y} v_{y}) (v_x^2 + v_y^2)^{-1} \end{bmatrix} \\ \\ &= \begin{bmatrix} u_{x} {\color{blue}e_{x}} \\ u_{y} {\color{blue}e_{y}} \end{bmatrix} \\ \\ \\ &= \mathbf{u} \end{split} }

The dot product behaves more like division than multiplication!

Back to top

Geometric calculus[]

In calculus units like feet or seconds behave like constants

And:

But:

Derivatives in three dimensions[]

The derivative of a scalar function:

which is similar to the total differential which is a differential form:

The derivative of a vector function:

The derivative of a bivector function:

The derivative of a pseudoscalar function:


Back to top

Classical mechanics[]

Classical mechanics
See also: Wikipedia:Phasor

The derivative of potential is force:

Assuming time is a scalar:

From Wikipedia:Lorentz force:

And:

The rate at which energy is transferred from the electromagnetic field to the particle is:

Back to top

Maxwell's equations[]

From Wikipedia:Mathematical descriptions of the electromagnetic field

E(x, y, z, t) and B(x, y, z, t) are vector fields called the electric field and the magnetic field.

The behaviour of electric and magnetic fields, whether in cases of electrostatics, magnetostatics, or electrodynamics (electromagnetic fields), is governed by Maxwell's equations:

Maxwell's equations (vector fields)
   Gauss's law
   Gauss's law for magnetism
   Ampère–Maxwell law
   Faraday's law

where ρ is the charge density, ε0 is the electric constant, μ0 is the magnetic constant, and J is the current per unit area.

Back to top

Algebra of physical space[]

In geometric algebra two multivectors are introduced. One for the field and one for the current.

The field multivector, known as the *Riemann–Silberstein vector, is
The current multivector is
where, in the *algebra of physical space (APS) with the vector basis . The unit *pseudoscalar is (assuming an *orthonormal basis). Orthonormal basis vectors share the algebra of the *Pauli matrices, but are usually not equated with them.

After defining the derivative

Maxwell's equations are reduced to the single equation[1]

In three dimensions, the derivative has a special structure allowing the introduction of a cross product:

from which it is easily seen that Gauss's law is the scalar part, the Ampère–Maxwell law is the vector part, Faraday's law is the pseudovector part, and Gauss's law for magnetism is the pseudoscalar part of the equation. After expanding and rearranging, this can be written as

Back to top

Spacetime algebra[]

We can identify APS as a subalgebra of the *spacetime algebra (STA) , defining and . The s have the same algebraic properties of the *gamma matrices but their matrix representation is not needed. The derivative is now

The Riemann–Silberstein becomes a bivector

and the charge and current density become a vector

Owing to the identity

Maxwell's equations reduce to the single equation

Back to top

References[]

  1. Oersted Medal Lecture David Hestenes "Reforming the Mathematical Language of Physics" (Am. J. Phys. 71 (2), February 2003, pp. 104–121) Online:http://geocalc.clas.asu.edu/html/Oersted-ReformingTheLanguage.html p26

See also[]

Advertisement