|
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 e1, e2, ..., en is a basis for
V, a basis for C is the set of all products e1i1e2i2 ... enin, where ik is 0 or 1 for all k. The function k |-> ik
is the characteristic function of a subset of {1, 2, ..., n}, namely
S = {k | ik = 1 }. The map S |-> 1 + ∑k∈S 2k - 1
is a bijection between the subsets of {1, 2, ..., n} and the integers in
the interval [1 ... 2n].
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.
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
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
The names of the generators for printing (via AsPolynomial) can
be changed using AssignNames. Furthermore, assigning new print
names to the generators does not change the identifiers themselves.
> 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.
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
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.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|