Numerical Geometric Algebra Module
Project description
clifford: Geometric Algebra for Python
clifford
is a numerical Geometric Algebra (a.k.a. Clifford algebra) package for python.
- Documentation: http://clifford.readthedocs.org
- Source code: https://github.com/pygae/clifford
- Bug reports: https://github.com/pygae/clifford/issues
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,
Quick Installation
Requires Python version >=3.5
Install using conda
:
conda install clifford -c conda-forge
Install using pip
:
pip3 install clifford
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 |
---|---|
| | 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!
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 printclifford.__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 = {Hugo Hadfield and
Eric Wieser and
Alex Arsenovic 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file clifford-1.4.0.tar.gz
.
File metadata
- Download URL: clifford-1.4.0.tar.gz
- Upload date:
- Size: 139.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79513c16b0f4607a11ade63d0ab35bf2fe2fe0aac6f37654d28173f95fa9f90d |
|
MD5 | ccc2709b47f3c9de565055eb2e427c5f |
|
BLAKE2b-256 | 42b875f2a02ccf95591a3536eef7ae63cb91ecbf1e719f0869081079ec97ea99 |
File details
Details for the file clifford-1.4.0-py3-none-any.whl
.
File metadata
- Download URL: clifford-1.4.0-py3-none-any.whl
- Upload date:
- Size: 159.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f5c5c7d660b055001f3be2a330762a12220202ace918ec58a4f7aaf59a659f7 |
|
MD5 | 596826f20c8f332072de62c32d4bb1eb |
|
BLAKE2b-256 | 70303ba2d8485c5db27d818d65f33814c8b2374ed54b68618ca811c3c392b00d |