Skip to main content

Numerical Geometric Algebra Module

Project description

clifford: Geometric Algebra for Python

PyPI DOI Binder Documentation Status Build Status Build Status codecov

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

Quickstart

Try out a notebook in binder

Or have a go on your own pc:

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

Syntax Summary

Syntax Operation
| Symetric 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!

Citing This Library

As linked at the top of this page, clifford is published to zenodo. DOI 10.5281/zenodo.1453978 refers to all versions of clifford.

To obtain BibTex citation information for a specific release (recommended):

  • Run python -m pip show clifford to determine which version you are using (or print clifford.__version__ from python)
  • Click on the corresponding version from this list of versions
  • Scroll down to the bottom of the page, and click the "BibTex" link in the "Export" sidebar

If you want to cite all releases, use:

@software{python_clifford,
  author       = {Alex Arsenovic and
                  Hugo Hadfield and
                  Eric Wieser and
                  Robert Kern and
                  {The Pygae Team}},
  title        = {pygae/clifford},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.1453978},
  url          = {https://doi.org/10.5281/zenodo.1453978}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for clifford, version 1.3.0
Filename, size File type Python version Upload date Hashes
Filename, size clifford-1.3.0-py3-none-any.whl (142.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size clifford-1.3.0.tar.gz (124.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page