Clifford Algebras

Clifford algebras are represented in Magma as structure constant algebras and therefore many of the functions described in Chapter Algebras apply to Clifford algebras. However, the base ring of a Clifford algebra is required to be an exact field (see Chapter Introduction to Rings). The Magma type of a Clifford algebra is AlgClff and the type of an element of a Clifford algebra is AlgClffElt. All Clifford algebras are created with the attributes

space: the quadratic space from which the Clifford algebra is derived;

embedding: the standard embedding of the quadratic space into the Clifford algebra.

Let \(C\) be the Clifford algebra of the quadratic form \(Q\) defined on the vector space \(V\). If \(e_1\), \(e_2\), …, \(e_n\) is a basis for \(V\), a basis for \(C\) is the set of all products \(e_1^{i_1}e_2^{i_2}\cdots e_n^{i_n}\), where \(i_k\) is 0 or 1 for all \(k\). The function \(k \mapsto i_k\) is the characteristic function of a subset of \(\{1,2,\dots, n\}\), namely \(S = \{k \mid i_k = 1 \}\). The map \(S\mapsto 1 + \sum_{k\in S} 2^{k-1}\) is a bijection between the subsets of \(\{1,2,\dots,n\}\) and the integers in the interval \([1\dots 2^n]\).

Thus the elements of \(C\) can be represented by a sequence of pairs \(\langle S,a\rangle\) where \(S\) is a subset of \(\{1,2,\dots,n\}\) and \(a\) is a field element. Multiplication is determined by the fact that for all \(u,v\in V\) we have

\[v^2 = Q(v)\cdot 1\quad\hbox{and}\quad uv + vu = \beta(u,v)\cdot 1,\]

where \(\beta\) is the polar form of \(Q\).

CliffordAlgebra(Q): AlgMatElt -> AlgClff, ModTupFld, Map

This function returns a triple \(C\), \(V\), \(f\), where \(C\) is the Clifford algebra of the quadratic form \(Q\), \(V\) is the quadratic space of \(Q\), and \(f\) is the standard embedding of \(V\) into \(C\).

CliffordAlgebra(V): ModTupFld -> AlgClff, Map

If \(V\) is a quadratic space with quadratic form \(Q\), this function returns the pair \(C\), \(f\), where \(C\) is the Clifford algebra of \(Q\) and \(f\) is the standard embedding of \(V\) into \(C\).

Example: Quaternions as a Clifford Algebra (ex-22ab1c)

A quaternion algebra is a special case of a Clifford algebra.

> C,V,f := CliffordAlgebra(-IdentityMatrix(Rationals(),2));
> i := f(V.1);
> j := f(V.2);
> i^2 eq -One(C);
true
> j^2 eq -One(C);
true
> i*j eq -j*i;
true

Run in calculator (opens in a new tab)

Elements of a Clifford Algebra

elt< C | r₁, r₂, ..., rₘ >: AlgClff, RngElt, RngElt, ..., RngElt -> AlgClffElt

Given a Clifford algebra \(C\) of dimension \(m = 2^n\) over a field \(F\), and field elements \(r_1\), \(r_2\), …, \(r_m \in F\) construct the element \(r_1 * C.1 + r_2 * C.2 + \cdots + r_m * C.m\) of \(C\).

C ! L: AlgClff, SeqEnum[RngElt] -> AlgGenElt

Given a Clifford algebra \(C\) of dimension \(m = 2^n\) and a sequence \(L = [r_1, r_2, \ldots, r_m]\) of elements of the base ring \(R\) of \(C\), construct the element \(r_1 * C.1 + r_2 * C.2 + \cdots + r_m * C.m\) of \(C\).

SeqToClifford(C, ss): AlgClff, SeqEnum -> AlgClffElt

Convert a sequence ss of pairs \(\langle S, a\rangle\) to an element of the Clifford algebra \(C\), where \(S\) is a subset of \(\{1,\dots,n\}\), \(a\) is in the base field and the dimension of \(C\) is \(2^n\).

SeqFromClifford(v): AlgClffElt -> SeqEnum

The sequence of pairs \(\langle S, a\rangle\) which represents the element \(v\) of a Clifford algebra.

Example: Monomial Representation of an Element (ex-3fca24)

Run in calculator (opens in a new tab)

We illustrate the conversion of a Clifford algebra element to its monomial representation.

> K<z> := GF(5,2);
> Q := StandardQuadraticForm(4,K);
> C,V,f := CliffordAlgebra(Q);
> x := elt< C | 1,0,2,z,0,z^2,z^11,0,0,0,0,z,0,0,0,z^13 >;
> L := SeqFromClifford(x);
> L;
[
    <[], 1>,
    <[ 2 ], 2>,
    <[ 1, 2 ], z>,
    <[ 1, 3 ], z^2>,
    <[ 2, 3 ], z^11>,
    <[ 1, 2, 4 ], z>,
    <[ 1, 2, 3, 4 ], z^13>
]
> x eq SeqToClifford(C,L);
true
> AsPolynomial(x);
z^13*e1*e2*e3*e4 + z*e1*e2*e4 + z*e1*e2 + z^2*e1*e3 + z^11*e2*e3 + 2*e2 + 1

Run in calculator (opens in a new tab)

BasisProduct(C, i, j): AlgClff, RngIntElt, RngIntElt -> AlgGenElt

The product of the \(i\)-th and \(j\)-th basis element of the Clifford algebra \(C\).

BasisProduct(C, L): AlgClff, SeqEnum -> AlgGenElt

The product of the basis elements (indexed by \(L\)) of the quadratic space of the Clifford algebra \(C\).

BasisElement(C, S): AlgClff, SetEnum -> AlgClffElt

The basis element \(C.j\) of the Clifford algebra \(C\) corresponding to the subset \(S\) of \(\{1,2,\dots,n\}\) where \(j = 1+\sum_{k\in S}2^{k-1}\). If \(e_1\), \(e_2\), …, \(e_n\) is the standard basis for the quadratic space of \(C\), this corresponds to the product \(e_{i_1} * e_{i_2} * \cdots * e_{i_h}\), where \(S = \{i_1,i_2,\dots,i_h\}\) and \(i_1 < i_2 < \cdots < i_h\).