# 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 spacefrom math import e, pia = 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!