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.

Source Distribution

clifford-1.3.0.tar.gz (124.8 kB view details)

Uploaded Source

Built Distribution

clifford-1.3.0-py3-none-any.whl (142.1 kB view details)

Uploaded Python 3

File details

Details for the file clifford-1.3.0.tar.gz.

File metadata

  • Download URL: clifford-1.3.0.tar.gz
  • Upload date:
  • Size: 124.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for clifford-1.3.0.tar.gz
Algorithm Hash digest
SHA256 96acf191fb0a72abe9ed6b22ea8f44eba2bbd3e24bd9ebbf90504b12497a423a
MD5 b746a7517718c2ac61cc5e6021b5728c
BLAKE2b-256 184fb4e75e7f34cb0a99efdadfbb6263c249b510e957e086800d3b10900a2151

See more details on using hashes here.

File details

Details for the file clifford-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: clifford-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 142.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for clifford-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e16595a5506f6f78af4882bebcafe3d311ba838953cf6ca1be81ad6a009d0c3
MD5 1cef68a202273421ee195aa2ede933ef
BLAKE2b-256 274daf55f8274a590d6df208bd9e9677861e69e55c0cd2e40b9269bbaf667ee9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page