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
Thus the elements of C can be represented by a sequence of pairs < S, a > where S is a subset of {1, 2, ..., n} and a is a field element. Multiplication is determined by the fact that for all u, v∈V we have
v2 = Q(v).1quadand uv + vu = β(u, v).1,
where β is the polar form of Q.
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.
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.
> 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
The generators of a Clifford algebra C defined on a quadratic space V are the images of the standard basis elements of V under the embedding of V in C. If C is a Clifford algebra note that C.1, C.2 and so on refer to the basis elements of the underlying vector space of C not its generators.
The AssignNames procedure can be used to associate names with the generators of a Clifford algebra after its creation.
Procedure to change the names of the generators of a Clifford algebra C. The i-th generator will be given the name of the i-th element of the sequence S; the sequence may have length less than the number of generators of C, in which case the remaining generator names remain unchanged.This procedure changes only the names used in printing the elements of C. It does not assign to identifiers corresponding to the strings in S; to do this, use assignment statements, or use angle brackets when creating the Clifford algebra. This procedure is called by the generator assignment operators < > at the time of creation of a Clifford algebra.
Given a Clifford algebra C, return the i-th generator of C (as an element of C).
Print the element v of a Clifford algebra as a polynomial in its generators; that is, as a polynomial in the basis elements of its quadratic space. By default the generators are labelled e1, e2, ..., en.
The generator assignment construction (see Section Generator Assignment) can be used to assign names to the generators of a Clifford algebra.
> C<x,y,z> := CliffordAlgebra(IdentityMatrix(GF(5),3)); > f := x^2 + 3*y + y*z; > f; (1 0 3 0 0 0 1 0) > AsPolynomial(f); y*z + 3*y + 1
> C<[x]> := CliffordAlgebra(IdentityMatrix(GF(5),3)); > f := 3*C.1 + 2*C.2 + C.5 +C.6; > AsPolynomial(f); x[1]*x[3] + 2*x[1] + x[3] + 3 > Name(C,3) eq C.5; true > AssignNames(~C,["x","y","z"]); > AsPolynomial(f); x*z + 2*x + z + 3 > x[2]; (0 0 1 0 0 0 0 0) > y; User error: Identifier 'y' has not been declared or assigned
Given a Clifford algebra C of dimension m = 2n over a field F, and field elements r1, r2, ..., rm ∈F construct the element r1 * C.1 + r2 * C.2 + ... + rm * C.m of C.
Given a Clifford algebra C of dimension m = 2n and a sequence L = [r1, r2, ..., rm] of elements of the base ring R of C, construct the element r1 * C.1 + r2 * C.2 + ... + rm * C.m of C.
Convert a sequence ss of pairs < S, a > to an element of the Clifford algebra C, where S is a subset of {1, ..., n}, a is in the base field and the dimension of C is 2n.
The sequence of pairs < S, a > which represents the element v of a Clifford algebra.
> 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
The product of the i-th and j-th basis element of the Clifford algebra C.
The product of the basis elements (indexed by L) of the quadratic space of the Clifford algebra C.
The basis element C.j of the Clifford algebra C corresponding to the subset S of {1, 2, ..., n} where j = 1 + ∑k∈S2k - 1. If e1, e2, ..., en is the standard basis for the quadratic space of C, this corresponds to the product ei1 * ei2 * ... * eih, where S = {i1, i2, ..., ih} and i1 < i2 < ... < ih.