# clifford (clifford)¶

The top-level module. Provides two core classes, Layout and MultiVector, along with several helper functions to implement the algebras.

## Constructing algebras¶

Note that typically the predefined-algebras are sufficient, and there is no need to build an algebra from scratch.

 Cl([p, q, r, sig, names, firstIdx, mvClass]) Returns a Layout and basis blade MultiVectors for the geometric algebra $$Cl_{p,q,r}$$. conformalize(layout[, added_sig, mvClass]) Conformalize a Geometric Algebra

Whether you construct your algebras from scratch, or use the predefined ones, you’ll end up working with the following types:

 MultiVector(layout[, value, string, dtype]) An element of the algebra Layout(sig, *[, ids, order, names]) Layout stores information regarding the geometric algebra itself and the internal representation of multivectors. ConformalLayout(*args[, layout]) A layout for a conformal algebra, which adds extra constants and helpers.

### Advanced algebra configuration¶

It is unlikely you will need these features, but they remain as a better spelling for features which have always been in clifford.

 BasisBladeOrder(bitmaps) Represents the storage order in memory of basis blade coefficients. BasisVectorIds(blade_ids) Stores ids for the ordered set of basis vectors, typically integers.

## Global configuration functions¶

These functions are used to change the global behavior of clifford.

clifford.eps(newEps=None)[source]

Get/Set the epsilon for float comparisons.

clifford.pretty(precision=None)[source]

Makes repr(MultiVector) default to pretty-print.

precision arg can be used to set the printed precision.

Parameters

precision (int) – number of sig figs to print past decimal

Examples

>>> pretty(5)

clifford.ugly()[source]

Makes repr(MultiVector) default to eval-able representation.

clifford.print_precision(newVal)[source]

Set the epsilon for float comparisons.

Parameters

newVal (int) – number of sig figs to print (see builtin round)

Examples

>>> print_precision(5)


## Miscellaneous classes¶

 MVArray MultiVector Array Frame A frame of vectors BladeMap(blades_map[, map_scalars]) A Map Relating Blades in two different algebras

## Miscellaneous functions¶

 grade_obj(objin[, threshold]) Returns the modal grade of a multivector randomMV(layout[, min, max, grades, …]) n Random MultiVectors with given layout.