clifford: Geometric Algebra for Python

clifford is a numerical Geometric Algebra (a.k.a. Clifford algebra) package for python.

Geometric Algebra (GA) is a universal algebra which among several other independent mathematical systems, subsumes:

  • Complex numbers
  • Quaternions
  • Linear algebra

Scalars, vectors, and higher-grade entities can be mixed freely and consistently in the form of mixed-grade multivectors. Like this,

Visual explanation of blades

Quick Installation

Requires Python version >=3.5

Install using conda:

conda install clifford -c conda-forge

Install using pip:

pip3 install clifford

Detailed instructions

Quickstart

Try out a notebook in binder

Or have a go on your own pc:

from clifford.g3 import *  # import GA for 3D spacefrom math import e, pia = e1 + 2*e2 + 3*e3 # vector R = e**(pi/4*e12)    # rotor R*a*~R    # rotate the vector

Syntax Summary

SyntaxOperation
|Symmetric inner product
<<Left contraction
^Outer product
*Geometric product
X(i)Return the section of the multivector X of grade i
X(ei)Return the section of the multivector X for which ei is the pseudo scalar
X[i]Return the i'th coefficient from the multivector X
X.normal()Return the normalised multivector so that X*~X is +- 1

For installation instructions, api documention, and tutorials, head over to our documentation!

GitHub

GitHub - pygae/clifford: Geometric Algebra for Python
Geometric Algebra for Python. Contribute to pygae/clifford development by creating an account on GitHub.