clifford: Geometric Algebra for Python

In [1]: from clifford.g3 import *  # import GA for 3D space

In [2]: from numpy import e,pi

In [3]: a = e1 + 2*e2 + 3*e3 # vector

In [4]: R = e**(pi/4*e12)    # rotor

In [5]: R*a*~R    # rotate the vector
Out[5]: (2.0^e1) - (1.0^e2) + (3.0^e3)

This module implements Geometric Algebras (a.k.a. Clifford algebras). Geometric Algebra (GA) is a universal algebra which subsumes complex algebra, quaternions, linear algebra and several other independent mathematical systems. Scalars, vectors, and higher-grade entities can be mixed freely and consistently in the form of mixed-grade multivectors.

_images/blades.png

If you think Geometric Algebra looks interesting and want to learn more, check out the cambridge groups page, and here are some great introductory textbooks!

  • Geometric Algebra for Physicists, by Doran and Lasenby
  • Geometric Algebra for Computer Science, by Dorst, Fontijne and Mann
  • New Foundations for Classical Mechanics, by David Hestenes