9.10 CliffordAlgebra
CliffordAlgebra(n,K,Q) defines a vector space of dimension
over the field with a given quadratic form Q. If is a basis for then
{ 1,
e(i) 1 <= i <= n,
e(i1)*e(i2) 1 <= i1 < i2 <=n,
...,
e(1)*e(2)*...*e(n) }
is a basis for the Clifford algebra. The algebra is defined by the relations
e(i)*e(i) = Q(e(i))
e(i)*e(j) = -e(j)*e(i), i ^= j
Examples of Clifford Algebras are
gaussians (complex numbers), quaternions,
exterior algebras and spin algebras.
9.10.1 The Complex Numbers as a Clifford Algebra
This is the field over which we will work, rational functions with
integer coefficients.
K := Fraction Polynomial Integer
|
Type: Domain
We use this matrix for the quadratic form.
Type: Matrix Integer
We get complex arithmetic by using this domain.
C := CliffordAlgebra(1, K, quadraticForm m)
|
Type: Domain
Here is i, the usual square root of -1.
Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX)
Here are some examples of the arithmetic.
Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX)
Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX)
See ComplexXmpPage
for examples of Axiom's constructor implementing complex numbers.
Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX)
9.10.2 The Quaternion Numbers as a Clifford Algebra
This is the field over which we will work, rational functions with
integer coefficients.
K := Fraction Polynomial Integer
|
Type: Domain
We use this matrix for the quadratic form.
m := matrix [ [-1,0],[0,-1] ]
Type: Matrix Integer
The resulting domain is the quaternions.
H := CliffordAlgebra(2, K, quadraticForm m)
|
Type: Domain
We use Hamilton's notation for i,j,k.
Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX)
Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX)
Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX)
x := a + b * i + c * j + d * k
Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX)
y := e + f * i + g * j + h * k
Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX)
|
Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX)
|
Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX)
See QuaternionXmpPage
for examples of Axiom's constructor implementing quaternions.
|
Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX)
9.10.3 The Exterior Algebra on a Three Space
This is the field over which we will work, rational functions with
integer coefficients.
K := Fraction Polynomial Integer
|
Type: Domain
If we chose the three by three zero quadratic form, we obtain
the exterior algebra on e(1),e(2),e(3).
Ext := CliffordAlgebra(3, K, quadraticForm 0)
|
Type: Domain
This is a three dimensional vector algebra.
We define i, j, k as the unit vectors.
Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX)
Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX)
Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX)
Now it is possible to do arithmetic.
Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX)
Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX)
|
Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX)
Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX)
On an n space, a grade p form has a dual n-p form.
In particular, in three space the dual of a grade two element identifies
e1*e2->e3, e2*e3->e1, e3*e1->e2.
dual2 a == coefficient(a,[2,3]) * i + coefficient(a,[3,1]) * j + coefficient(a,[1,2]) * k
Type: Void
The vector cross product is then given by this.
Compiling function dual2 with type CliffordAlgebra(3,Fraction
Polynomial Integer,MATRIX) -> CliffordAlgebra(3,Fraction
Polynomial Integer,MATRIX)
|
Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX)
9.10.4 The Dirac Spin Algebra
In this section we will work over the field of rational numbers.
Type: Domain
We define the quadratic form to be the Minkowski space-time metric.
g := matrix [ [1,0,0,0], [0,-1,0,0], [0,0,-1,0], [0,0,0,-1] ]
Type: Matrix Integer
We obtain the Dirac spin algebra used in Relativistic Quantum Field Theory.
D := CliffordAlgebra(4,K, quadraticForm g)
|
Type: Domain
The usual notation for the basis is with a superscript. For
Axiom input we will use gam(i):
gam := [e(i)$D for i in 1..4]
Type: List CliffordAlgebra(4,Fraction Integer,MATRIX)
There are various contraction identities of the form
g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) =
2*(gam(s)gam(m)gam(n)gam(r) + gam(r)*gam(n)*gam(m)*gam(s))
where a sum over l and t is implied.
Verify this identity for particular values of m,n,r,s.
m := 1; n:= 2; r := 3; s := 4;
Type: PositiveInteger
lhs := reduce(+, [reduce(+, [ g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) for l in 1..4]) for t in 1..4])
Type: CliffordAlgebra(4,Fraction Integer,MATRIX)
rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s)
Type: CliffordAlgebra(4,Fraction Integer,MATRIX)