CliffOC11` Examples

G. Stacey Staples

19 Aug. 2011

Basic OC

Quit[] (* Quit kernel and start from scratch *)

<<CliffMath11`;
<<CliffOC11`;

SetSignature[2,1]

GetSignature

(* Matrix rep of ith (left) lowering operator, (Subscript[D, i]) *)
ithLoweringRep[3]//MatrixForm

(* Matrix rep of ith (left) raising operator, (Subscript[D, i]) *)
ithRaisingRep[3]//MatrixForm

(* Get the kernel of the generalized (left) raising operator (Subscript[Ξ, x]) *)

Clear[x];
SetSignature[1,3];
Print["In (Subscript[Cl, 1, 3])", ", Ker((Subscript[Ξ, x])) is spanned by "];
K=GetXRaisingKernel[{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])}];
For[i=1,i≤Length[K],i++,
Print[K[[i]]]]

(* Kernel of generalized lowering operator *)

Clear[x];
SetSignature[1,3];
Print["In (Subscript[Cl, 1, 3])", ", Ker((Subscript[Λ, x])) is spanned by "];
K=GetXLoweringKernel[{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])}];
For[i=1,i≤Length[K],i++,
Print[K[[i]]]]

(* A single command to do the same thing *)

PrintXLoweringKernel[{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])}]

(* Verify that kernel elements were obtained 
For example, the first basis element of the kernel... *)

φ=GetXLoweringKernel[{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])}][[1]]

(* Apply lowering operator to φ *)

XLowering[φ,{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])}]

(* Repeat with vector & matrix representations *)

j=VecRep[φ]

(M=XLoweringRep[{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])}])//MatrixForm

(* Matrices act on the right *)
j.M

VectorToMultivector[j.M]

(* Right-regular representation of generalized raising *)

XRaisingRep[{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])}]//MatrixForm

(* Print kernel of (Subscript[Λ, x]) in (Subscript[Cl, 1,2])*)

SetSignature[1,2];
PrintXLoweringKernel[{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3])}]

(* Matrix rep of (Subscript[Λ, x]) *)

XLoweringRep[{(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3])}]//MatrixForm

(*Canonical raising rep*)

CanonicalRaisingRep//MatrixForm

(*Form quantum observable*)

SetSignature[0,3];
A=((I CanonicalLoweringRep+I CanonicalRaisingRep)/(Sqrt[MaxIndex]));

Print["\!\(\*FractionBox[\(IL\\  + \\ IR\), SqrtBox[\(3\)]]\) = ",A//MatrixForm]

Print[" "]

Print["Eigenvalues: ",Eigenvalues[A]]

Graphical Representations of Raising and Lowering Operators

(* Canonical lowering in (Subscript[Cl, 1,3]) *) 
SetSignature[1,3];
Print["Canonical Lowering Operator in (Subscript[Cl, 1, 3]):"]

(* Transitions with NO sign changes *)
 GraphLowering[][[1]]

(* Transitions with sign changes *)
 GraphLowering[][[2]]

SetSignature[1,3];
Print["Canonical Raising Operator in (Subscript[Cl, 1, 3]):"]

(* Transitions with NO sign changes *)
 GraphRaising[][[1]]

(* Transitions with sign changes *) 
GraphRaising[][[2]]

(* 3D pictures of canonical lowering*)

(* No sign changes *)
PlotLowering[][[1]]

(* Sign changes *)
PlotLowering[][[2]]

SetSignature[3,1];
RBPlotRaising[]

(*3D graphical interpretation of canonical lowering*)

SetSignature[1,4];
PlotLowering[]