Need help with clifford?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

pygae
606 Stars 57 Forks BSD 3-Clause "New" or "Revised" License 1.1K Commits 79 Opened issues

#### Description

Geometric Algebra for Python

!
?

# clifford: Geometric Algebra for Python

`clifford`
is a numerical Geometric Algebra (a.k.a. Clifford algebra) package for python.
• 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
```
Detailed instructions

## Quickstart

Try out a notebook in binder

Or have a go on your own pc:

```python
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

For citation information, see our

`CITATION.md`
file.