Wolfram Language Paclet Repository
Community-contributed installable additions to the Wolfram Language
Paclet to resolve operations with basic Clifford Algebra operations
Contributed by: José L. Aragón and Alejandra Ortiz
Paclet to perform algebraic operations in an n-dimensional Clifford algebra with arbitrary signature (p, q). It defines a basis e[i] and supports operations such as geometric product, inner and outer products, contractions, duals, reflections, and rotations.
To install this paclet in your Wolfram Language environment,
evaluate this code:
PacletInstall["Jlaragonvera/BasicCliffordAlgebra"]
To load the code after installation, evaluate this code:
Needs["Jlaragonvera`BasicCliffordAlgebra`"]
The package is based on the construction proposed by Alan Macdonald (Adv. Appl. Clifford Algebra, 12 (2002) 1-6) and is intended for use in physics, geometry, and computer science.
This file contains declarations for basic calculations with Clifford algebra of a n-dimensional vector space with signature {p,q} generated by {e[1], e[2],….,e[n]} and relations:
The basis vectors ei are denoted by e[i] and the geometric product of basis elements (blades) are denoted as e[2,3,1] = e2e3e1, etc. For instance, the multivectors:

must be written as:
| In[1]:= | ![]() |
The result of any calculation is given in terms of the geometric product of basis elements, that is, the outer (Grassman) product of basis elements or multivectors is calculated by using OuterProduct[] and the output is given in terms of geometric product of basis vectors.
The signature of the bilinear form is set by $SetSignature={p,q}, if not specified, the default value is $SetSignature = {20,0}
Here are 3 multivectors:
| In[2]:= | ![]() |
The geometric product uvw is:
| In[3]:= |
| Out[3]= |
The outer (wedge) product between u and v is:
| In[4]:= |
| Out[4]= |
The operation
is:
| In[5]:= |
| Out[5]= |
Compute the outer product of two multi-vectors:
| In[6]:= |
| In[7]:= |
| In[8]:= |
| Out[8]= |
Compute the inner product of vector and bivector:
| In[9]:= |
| In[10]:= |
| In[11]:= |
| Out[11]= |
Calculate the left contraction of two vectors:
| In[12]:= |
| In[13]:= |
| In[14]:= |
| Out[14]= |
Calculate the right contraction of two vectors:
| In[15]:= |
| Out[15]= |
Extract the bivector (grade‑2) part:
| In[16]:= |
| Out[16]= |
Wolfram Language Version 14.2