(* CliffMath08 Examples.nb  Procedures for Clifford algbebra computations in Mathematica *)
(* June 2008 G. Stacey Staples *)
 
(* Use CircleDot for Clifford multiplication *)
(* x⊙y is entered by typing x[ESC]c.[ESC]y *)

(* Use Wedge for exterior product. *)
(* x⋀y is entered by typing x[ESC]^[ESC]y *)

<<CliffMath08`

(* Examples follow *)

SetSignature[2,5]

w=(2(Subscript[e, {1}])+3(Subscript[e, {3}]))⊙((Subscript[e, {2}])-(Subscript[e, {1}]))//ClExpand

Reversion[w]

GradeInvolution[w]

CliffordConjugate[w]

(OverBar[w])

(OverHat[w])

(OverBar[w])

ClBasis

3((Subscript[e, {1}])⊙ (Subscript[e, {2}]))//ClExpand

x=12(Subscript[e, {1}])
y=2(Subscript[e, {2,3}])+7(Subscript[e, {1,7}])

x⋀y//WExpand

CircleDot[x,y]//ClExpand

(x+3y)⊙y//ClExpand

z=ClExpand[(x+y)⊙x]

z=x+y

CliffordPower[z,3]//ClExpand

GetSignature

w=(Subscript[e, {1}])+(Subscript[e, {2}])+(Subscript[e, {3}])+(Subscript[e, {4}])+(Subscript[e, {5}])+(Subscript[e, {6}])+(Subscript[e, {7}])

CliffordPower[w,5]

z=x+y

SetSignature[0,7]

f=z⊙z//ClExpand

GradeKPart[f,3]

f⊙z//ClExpand

CliffordPower[x+y,2]

%⊙(x+y)//ClExpand

CliffordPower[x+y,3]

CliffordNorm[%,2]

(3(Subscript[e, {1}])+4(Subscript[e, {3}]))⊙(5(Subscript[e, {1}])-3(Subscript[e, {3}]))//ClExpand

CliffordNorm[%,∞]

CliffordPower[(3(Subscript[e, {1,2}])-4(Subscript[e, {1,3}])),5]

GetSignature

ClKVectors[3]

SetSignature[2,2]

((Subscript[e, {1}])+(Subscript[e, {3}]))⊙((Subscript[e, {1}])-(Subscript[e, {3}]))

((Subscript[e, {1}])+(Subscript[e, {3}]))⊙((Subscript[e, {1}])-(Subscript[e, {3}]))//ClExpand

(Subscript[e, {1}])⊙ (Subscript[e, {1}]) - (Subscript[e, {3}])⊙ (Subscript[e, {3}]) + (Subscript[e, {3}])⊙(Subscript[e, {1}])-(Subscript[e, {1}])⊙(Subscript[e, {3}])

GetSignature

SetSignature[16,0]

(* Form the Clifford adjacency matrix associated with the complete graph on 5 vertices*)
(A={{0,(Subscript[e, {2,6}]),(Subscript[e, {3,7}]),(Subscript[e, {4,8}]),(Subscript[e, {5,9}])},{(Subscript[e, {1,10}]),0,(Subscript[e, {3,11}]),(Subscript[e, {4,12}]),(Subscript[e, {5,13}])},{(Subscript[e, {1,7}]),(Subscript[e, {2,11}]),0,(Subscript[e, {4,14}]),(Subscript[e, {5,15}])},{(Subscript[e, {1,8}]),(Subscript[e, {2,12}]),(Subscript[e, {3,14}]),0,(Subscript[e, {5,16}])},{(Subscript[e, {1,9}]),(Subscript[e, {2,13}]),(Subscript[e, {3,15}]),(Subscript[e, {4,16}]),0}})//MatrixForm

(* Here's the graph. *)
 GraphPlot[A/.(Subscript[e, _])->1]

Tr[CliffordMatrixPower[A,5]]

(* Count the 5-cycles in the complete graph on 5 vertices by taking the 1-norm of the trace.  Divide by 10 to correct for multiple choices of base point and two orientations.  We expect to get ((4!)/2).  *)CliffordNorm[GradeKPart[%,10],1]/10

(* Considering the wedge product, only the 5 cycles survive in the trace. *)
 Tr[WedgeMatrixPower[A,5]]

CliffordNorm[%,1]/10