clifford.BasisBladeOrder

class clifford.BasisBladeOrder(bitmaps)[source]

Represents the storage order in memory of basis blade coefficients.

Bitmaps represent which basis vectors are present in a basis blade. For instance, in an algebra with basis vectors \(e_w, e_x, e_y, e_z\), the basis blade \(e_xz\) is represented with 0b1010. Note that this appears reversed because binary numbers are written with the nth bit first.

index_to_bitmap

An array mapping storage indices to bitmaps.

Type

numpy.ndarray

bitmap_to_indices

A reverse mapping of index_to_bitmap. If bitmaps are missing, this array contains -1.

Type

numpy.ndarray

grades

An array mapping indices to the grade of the basis vector, that is the number of bits in the bitmap.

Type

numpy.ndarray

classmethod shortlex(n_vectors: int)clifford._layout_helpers.BasisBladeOrder[source]

Get an optimized shortlex ordering.

This sorts basis blades first by grade, and then lexicographically.